Vsftpd是一个unix系统上的FTP服务软件,其特点是小巧轻快、安全易用。采用一般身份启动服务,对linux的使用权限较低,降低了系统的安全风险。 下面介绍一下VSFTPD在centos系统上的安装以及一些配置方法。 安装vsftpd并设置为开机启动: 123 yum install vsftpd -y service vsftpd start chkconfig vsftpd on 安装好后需要建立FTP用户: 1 /usr/sbin/adduser -d /srv/www/htdocs/ -g ftp -s /sbin/nologin username PS:上述命令中,/srv/www/htdocs/ 为该FTP登录时的主目录,用户名为username,/sbin/nologin作用为禁止登录系统,只允许登录ftp。 创建好FTP用户后,修改密码: 1 passwd username 修改好密码后,就可以登陆FTP了,默认的FTP登陆端口为21,安全起见,可以修改之: 找到 /etc/vsftpd/vsftpd.conf 文件 1 listen_port=10001 这样就把FTP的连接端口修改为10001了,重启VSFTPD后生效: 1 service vsftpd restart 登陆FTP后,不难发现,我们可以进入用户目录更上层的目录,虽然无法修改读取文件,但是也造成一定的安全问题。我们可以如下设置: 以下两种方法可以实现。 修改 /etc/vsftpd/vsftpd.conf 文件,增加: 123 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 这样配置,凡是写在/etc/vsftpd/chroot_list中的用户都是不受限制的用户。 因此我们还需要创建一个空白的文件,否则FTP登陆不上 1 touch /etc/vsftpd/chroot_list 或 1 cat /dev/null > /etc/vsftpd/chroot_list 另外还有这样的配置方法: 123 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 这样配置, 凡是写在/etc/vsftpd/chroot_list中的用户都是受限制的用户。 chroot_list文件的格式很简单,一行一个用户名。 推荐使用第一种方法。