1、移植vsftpd
将 vsftpd 源码解压:
tar -vxzf vsftpd-3.0.3.tar.gz
进入解压后的文件夹,修改 Makefile 使用的编译器:
CC = arm-linux-gnueabihf-gcc
编译 vsftdp 源码,然后得到 vsftpd 和 vsftpd.conf 两个文件,然后将两个文件拷贝到开发板中:
sudo cp vsftpd ~/linux/nfs/rootfs/usr/sbin/ //拷贝 vsftpd
sudo cp vsftpd.conf ~/linux/nfs/rootfs/etc/ //拷贝 vsftpd.conf
修改文件权限和所有者:
chmod +x /usr/sbin/vsftpd
chown root:root /etc/vsftpd.conf
2、配置vsftpd
打开 vsftpd.conf,使能以下内容:
local_enable=YES //取消前面的#
write_enable=YES //取消前面的#
3、添加新用户
如果第一次添加用户的话要先将 ubuntu 下的 /etc/passwd 和 /etc/group 这两个文件复制到开发板根文件系统的对应目录:
sudo cp /etc/passwd ~/linux/nfs/rootfs/etc/ -f
sudo cp /etc/group ~/linux/nfs/test_rootfs/etc/ -f
修改开发板根文件系统中的 /etc/passwd 和 /etc/group 这两个文件,只保留 “root” 这一项。passwd 文件 “root” 行最后改为 “/bin/sh”。
检查开发板根文件系统中是否存在以下目录和文件,不存在手动创建:
/home //目录,不存在的话自行创建
/usr/share/empty //目录,不存在的话自行创建
/var/log //目录,不存在的话自行创建
/var/log/vsftpd.log //文件,不存在的话自行创建
创建 ftp 和 nobody 这两个用户,命令如下:
adduser ftp //创建 ftp用户
adduser nobody //创建 nobody用户
创建一个登录用户:
adduser liuzhikai
4、连接测试
启动 vsftpd 服务器:
vsftpd &
使用 Filezilla 测试连接。
在 /etc/init.d/rcS 文件中添加开机启动 vsftpd 服务:
vsftpd &
使用 liuzhikai 这个用户登录 ftp 服务器,只能与开发板中 /home/liuzhikai 这个目录互传文件。