vsftpd ubuntu下实践

安装:

apt-get install vsftpd

配置:

1、useradd -d /var/www test //增加用户test,并制定test用户的主目录为/var/www
2、passwd test //为test设置密码
3、更改用户相应的权限设置:

usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /var/www/website1 test //更改用户test的主目录为website1

4、限制用户只能访问/home/test,不能访问其他路径
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:

chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制 1.所有用户都不被限制其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO 1.所有用户都被限制在其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户 1.所有用户都不被限制其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

5、重启vsFTPd服务器: service vsftpd restart

错误:

vsftpd 530 Login incorrect 解决
解决:pam_service_name=vsftpd // ubuntu是pam_service_name=ftp

550 Permission denied.
解决:1). write_enable=YES
2). 设置目录权限 chmod -R 775 /var/www/website1

vsftpd: refusing to run with writable root inside chroot()
解决:vi /etc/vsftpd.conf  增加一行: allow_writeable_chroot=YES

发表评论