Step 1)
执行 make,该命令会生成一个 vsftpd 的二进制文件
Step 2)
2a) vsftpd 需要 nobody
用户
[root@localhost root]# useradd nobody
useradd : user nobody exists
2b) vsftpd 需要 empty 目录
/usr/share/empty
[root@localhost root]# mkdir /usr/share/empty
mkdir: cannot create directory '/usr/share/empty' : file exist
2c) 为了 anonymous
登录,需要用户名为 ftp 的用户
[root@localhost root]# mkdir /var/ftp
[root@localhost root]# useradd -d /var/ftp ftp
改变 /var/ftp 目录的拥有者和权限
[root@localhost root]# chown root.root /var/ftp
[root@localhost root]# chmod og-w
/var/ftp
// other 和 group 去掉 write 权限
Step
3)
[root@localhost root]# make install
下面需要将生成好的二进制文件、配置文件和 manpage 复制到相应的目录下
[root@localhost root]# cp vsftpd /usr/local/sbin/
[root@localhost root]# cp vsftpd.conf /etc/
[root@localhost root]# cp vsftpd.conf.5 /usr/local/man/man5
[root@localhost root]# cp vsftpd.8 /usr/local/man/man8
如果没有目录则自行创建相应目录再拷贝
Step
4)
vsftpd 可以单独运行而不需要依赖 inetd(inetd or xinetd):
[root@localhost root]# emacs
/etc/vsftpd.conf // 修改 vsftpd.conf
配置
在最后添加一行
listen=YES
// This tells vsftpd it will NOT be running from inetd.
[root@localhost root]# /usr/local/sbin/vsftpd &
[1] 2104
查看 vsftpd 21 端口是否运行:
[root@localhost root]# netstat -na --ip | grep 21
8:tcp
0 0
0.0.0.0:21
0.0.0.0:*
LISTEN
如果成功的话则可以登录本地 ftp 进行测试
[root@localhost root]# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.1)
Name (localhost:chris): ftp
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
注意:如果之前安装了 vsftpd 则首先要将其卸载掉,如果是用 rpm 安装包安装的则使用命令:
[root@localhost root]#rpm -e vsftpd*
白天在公司的服务器上重装了 vsftpd,晚上回到家里想在自己的机器上也安装一下,操作系统是 ubuntu
下载并解压了 vsftpd 的源码包之后,进入目录 make
尽然报一大堆的错误,只好上网查找原因,搜到了一个解决办法,上面说要装几个安装包:libpam0g-dev,libcap-dev,libwrap0-dev,libssl-dev,不过我只装了第2个和第4个就通过编译了。。。接下来的步骤和上面一样~。~