vsftp 设置
Vsftpd是一个unix系统上的FTP服务软件,其特点是小巧轻快、安全易用。采用一般身份启动服务,对linux的使用权限较低,降低了系统的安全风险。
下面介绍一下VSFTPD在centos系统上的安装以及一些配置方法。
安装vsftpd并设置为开机启动:
1
2
3
|
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 文件,增加:
1
2
3
|
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 |
另外还有这样的配置方法:
1
2
3
|
chroot_local_user=NO chroot_list_enable=YES chroot_list_file= /etc/vsftpd/chroot_list |
这样配置, 凡是写在/etc/vsftpd/chroot_list中的用户都是受限制的用户。
chroot_list文件的格式很简单,一行一个用户名。
推荐使用第一种方法。
同时生辰虚拟用户的还有:
cd /etc/vsftpd
vi virtualuser.txt
cp user_conf/webmaster user_conf/new_user
db_load -T -t hash -f virtualuser.txt vsftpd_login.db
service vsftpd restart
如何给VSFTP增加用户,只能访问指定目录
1 增加组 groupadd ftp
2 修改/etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list (这时候表示这里用户不受限制)
3 增加用户
adduser -d /opt/webuser -g ftp -s /sbin/nologin webuser
4 设置用户口令 passwd ftpuser
5 编辑文件: /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
webuser
6 重新启动vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart