vsftpd-3.0.3-edit.tar.gz 是一个经过修改的 vsftpd 3.0.3 版本FTP服务器软件的源代码包,适用于需要特定功能或安全增强的企业和开发者。
安装步骤:
0. 配置交叉编译环境:在/etc/profile 和 .bashrc 文件中添加以下内容:
```
export PATH=$PATH://root/compile/arm-none-linux-gnueabi/bin
source .bashrc
```
1. 解压文件:
```
tar -zxvf vsftpd-3.0.3.tar.gz
```
2. 修改Makefile文件,使用vim编辑器修改如下内容:
```
CC=arm-none-linux-gnueabi-gcc
```
3. 执行make命令,并修复以下错误:
(1) 错误提示:/bin/sh:./vsf_findlibs.sh: Permission denied
解决措施:执行 `chmod 775 ./vsf_findlibs.sh`。
(2) 错误提示:/lib/libcap.so.2: could not read symbols: File in wrong format
解决措施:修改 vsftpd/findlibs.sh,屏蔽掉第50-60行代码。
(3) 错误提示:sysdeputil.c:(.text+0xdcc): undefined reference to `crypt`
解决措施:将 arm-none-linux-gnueabi/libc/lib 下的 libcrypto.so.1 复制到开发板根文件系统的 /lib 目录下。
4. 拷贝生成的vsftpd及相关依赖库至目标系统:
```
cp vsftpd /path/to/rootfs/sbin
cp -r ./etc/vsftpd.conf /path/to/rootfs/etc/
```
5. 配置 vsftpd 的配置文件 `vsftpd.conf`,确保以下选项正确设置:
```ini
listen=YES
listen_port=21
anon_other_write_enable=YES
```
6. 在开发板根文件系统中创建必要的目录:
```
mkdir -p /var/ftp/pub
mkdir -p /usr/share/empty
chown root:root/var/ftp
chmod 755 /var/ftp
cd /var/ftp
chmod 777 pub
```
其中,`pub`目录用于匿名用户上传文件。
7. 在开发板上启动 vsftpd:
```
/etc/vsftpd.conf &
```
8. 启动后可以通过以下用户名和密码登录:
- 用户名:root (无密码),可访问任意目录;
- 用户名:anonymous(无密码),仅能访问 `/var/ftp/pub` 目录;
- 用户名:ftp(无密码),同上,只能进入 `pub` 文件夹。