0004 vsftp移植

vsftp

编译

tar -vxzf vsftpd-3.0.3.tar.gz
cd cd vsftpd-3.0.3
vim build_vsftp.sh 

build_vsftp.sh

#! /bin/sh
make CC=arm-linux-gnueabihf-gcc 

移植

拷贝 vsftpd–>/rootfs/usr/sbin/
拷贝 vsftpd.conf–>/rootfs/etc/

chmod +x  vsftpd
sudo cp vsftpd /home/li/linux/share/rootfs/usr/sbin/
sudo cp vsftpd.conf /home/li/linux/share/rootfs/etc/ 

配置 vsftpd.conf

开发板操作

cd  /etc
vi vsftpd.conf

local_enable=YES //取消前面的“#”
write_enable=YES //取消前面的“#”

创建文件

mkdir /home
mkdir /usr/share/empty -p
mkdir /var/log -p
touch /var/log/vsftpd.log

vsftpd 创建用户
vsftpd 默认需要两个用户,这两个用户名分别为:“ftp”和“nobody”。

adduser ftp 
adduser nobody 

启动ftp

vsftpd &
//开机自启动
vi /etc/init.d/rcS 
vsftpd &

报错1 frp软件连接报错
capability: warning: `vsftpd’ uses 32-bit capabilities (legacy support in use)
解决方法
可以使用不收影响,移植 libcap库

报错2 frp软件连接报错
响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因:
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

解决方法:
用命令chmod a-w /home/ftp去除用户主目录的写权限,注意把目录替换成你自己的。或者

 vi vsftpd.conf
allow_writeable_chroot=YES //添加

你可能感兴趣的:(嵌入Linux,根文件系统,linux,ftp)