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文件的格式很简单,一行一个用户名。
推荐使用第一种方法。