Linux:移植vsftpd到开发板搭建FTP服务器

1、下载

https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz

https://pan.baidu.com/s/1yl4C42pfRtpHe2mQ1WsKKA (提取码:u1m0)

说明:本文章是移植到buildroot构建的文件系统中(虽然可以直接menuconfig配置但还是试着移植),busybox等其他可能作更多修改。


2、移植

移植与配置可以参考源码目录下的INSTALL文件。

tar xzf vsftpd-3.0.3.tar.gz
cd vsftpd-3.0.3/
make CC=arm-linux-gnueabihf-gcc
cp vsftpd ~/net/nfs_root/fs/sbin/ 		# 拷贝程序到开发板文件系统中
cp vsftpd.conf ~/net/nfs_root/fs/etc/ 	# 拷贝配置文件
chown root:root /etc/vsftpd.conf 		# 在开发板中修改配置文件的拥有者

3、配置

3.1 修改/etc/vsftpd.conf将以下两个选项前的注释符“#”删除;

local_enable=YES
write_enable=YES

3.2 添加FTP所用到的用户;

如果开发板/etc目录下没有passwd和group文件则先从PC机拷贝过来,如果已经存在则跳过:

cp /etc/passwd /etc/group ~/net/nfs_root/fs/etc/

注意,如果拷贝其他系统的文件,则里面的内容保留root相关即可,其余可以删除,并且需要注意shell解析器使用的是/bin/bash还是/bin/sh。

添加默认配置用户:

adduser nobody 	# adduser或useradd;查看/etc/passwd如果已经存在则不需要添加该用户
mkdir -p /usr/share/empty/

添加匿名FTP用户:

mkdir /home 	# 如果没有该目录则先创建
adduser ftp
mkdir -p /var/ftp/
chown root.root /var/ftp
chmod og-w /var/ftp

3.3 其他

可以执行adduser命令添加更多用户,但是登录该用户进行传输文件时只能传输到/home/youradduser目录,如果是root用户则不受该限制。


4、使用

4.1 开发板记得先启动vsftpd程序;

vsftpd &

4.2 PC机连接使用

  • 主机:ftp://192.168…
  • 用户:root或其他用户
  • 密码:对应用户的密码
  • 端口:21

你可能感兴趣的:(linux,ftp)