服务器之家

专注于服务器技术!
当前位置:首页 > FTP服务器 > vsFTPd

Linux安装 vsFTPd 过程笔记

发布时间:2014-03-11 来源:服务器之家

        这两天分配给我用的服务器的 vsftp 无缘无故不工作了,不管怎么样也启动不了,在网上搜了些解决办法,于是决定重装 vsftpd。
        首先在 http://vsftpd.beasts.org/ 上下载 vsftpd。。。
        将 vsftpd.tar.gz 复制到 /root 目录下进行解压
        [root@localhost root]# tar xzvf vsftpd-2.0.6.tar.gz
        [root@localhost root]# cd vsftdp-2.0.6
        阅读 INSTALL,按照上面的步骤,执行相应的命令

        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个就通过编译了。。。接下来的步骤和上面一样~。~