开发板搭建FTP服务器

本文介绍了如何在hisi开发板上移植并配置vsftpd服务器,包括下载源码、交叉编译、配置vsftpd.conf、添加用户以及设置权限。重点讲解了本地用户登录的配置,如启用写入权限和限制用户在家目录。最后,文章提到了启动vsftpd服务的测试及开机自启的设置。
摘要由CSDN通过智能技术生成

       本文选择vsftpd作为使用对象,首先从vsftpd官网:https://security.appspot.com/vsftpd.html下载所需vsftpd版本源码,这里使用vsftpd3.0.3作为介绍。

1. 移植vsftpd至开发板

将vsftpd源码进行解压:

tar -vxzf vsftpd-3.0.3.tar.gz

进入解压过后的文件夹,打开Makefile进行编辑:(这里使用的hisi开发板)

CC = aarch64-himix100-linux-gcc      //这里选择开发板所需的交叉编译器

保存后编译源码,此时文件夹会得到vsftpd和vsftpd.conf两个文件,将这两个文件拷贝至开发板文件系统中:

sudo cp vsftpd ~/linux/nfs/rootfs/usr/bin/ //拷贝 vsftpd 
sudo cp vsftpd.conf ~/linux/nfs/rootfs/etc/ //拷贝 vsftpd.conf

输入指令ll或ls -la查看文件的权限和所有者,若不为开发板"root",则需修改:

chmod +x /usr/bin/vsftpd 
chown root:root /etc/vsftpd.conf

2. 修改vsftpd.conf的配置

FTP服务器可通过匿名、本地、虚拟账户三种方式登录,这里仅介绍本地用户登录的配置。

2.1 本地用户登录

默认设置:打开vsftpd.conf,使能以下内容:

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

2.2 本地用户配置

我们可以继续在vsftpd.conf中根据我们的需求来配置本地用户权限:

local_root=/mnt/sdmnt/store          //指定ftp服务器访问目录
file_open_mode=0755                  //本地用户上传档案后的档案权限,与chmod所使用的数值相同。默认值为0666。
allow_writeable_chroot=YES           //基于访问者写入权力
local_umask=022                      //取消前面的注释#,本地用户新增档案时的umask 值。默认值为077。
chroot_local_user=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 这两个用户,命令如下:(实测可仅创建nobody这个用户即可)

adduser ftp //创建 ftp用户
adduser nobody //创建 nobody用户

创建一个登录用户:

adduser G1ory

在执行完上述操作以后,要进行授权的步骤,比如上文本地用户登录目录为“local_root=/mnt/sdmnt/store”,则要逐级进行授权,直至最后一级目录为止:

chmod 777 /mnt
chmod 777 /mnt/sdmnt
chmod 777 /mnt/sdmnt/store
chmod 777 /home/G1ory

4. 连接测试

启动vsftpd服务器进行测试:

vsftpd &

接下来则可以尝试在windows中连接开发板的ftp服务,若测试无误,可将vsftpd设为开机自启,打开开机启动项的配置文件:

vi /etc/init.d/rcS

将vsftpd &加载末尾即可。

本文参考了以下链接,此文仅用于个人日后回顾,无商业用途。

https://blog.csdn.net/weixin_43072093/article/details/119133953

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值