开心园地

导航

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

posted on 2012-12-22 00:02  开心园地  阅读(352)  评论(0编辑  收藏  举报