- 环境:Ubuntu 14.04 32位
- 软件:vsFTPd
1.安装vsFTP
apt-get install vsftpd
2.配置文件(/etc/vsftpd.conf)
- listen(若设置为YES,表示vsFTPd是以stand alone的方式启动的)
- write_enable(用于控制是否允许FTP命令更改文件系统)
- local_enable(用于控制是否允许本地登陆。如果启用,/etc/passwd中的普通账号即可用于登陆。)
- chroot_local_user(如果设为YES,本地用户登陆后将被限制在其家目录中。)
- chroot_list_enable(如果被激活,管理员需要提供一个将本地用户限制在其家目录中的列表。如果chroot_local_user设置为YES则意义稍有不同,此情况下此列表变成不需要将用户限制于其家目录的用户列表。列表文件是/etc/vsftpd.chroot_list,可自行创建。)
- chroot_list_file(如果chroot_list_enable=YES,那么就能够设置这个项目了,它里面可以规定哪一个实体用户会被限制在自己的默认目录内无法离开,一行一个账号即可。)
3.样例
(1) 限制本地用户在其家目录中
local_enable=YES
write_enable=YES
chroot_local_user=YES
此时在windows端用Filezilla链接Ubuntu服务器,会提示错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
原因在于,该用户目录文件具有写权限,存在安全隐患。
解决办法:chmod a-w /home/user1
(2) 不限制本地用户的访问目录
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
vim /etc/vsftpd.chroot_list文件,添加ftp账户
此时可以在远端访问该FTP服务器,并访问所有目录,存在一定的安全隐患。
参考:
未完待续