安装vsftpd程序
客户端连接
1.安装
2.登陆
或者
完整的FPT命令大全的中文解释
匿名用户登陆
但是目前匿名用户只能访问,下载文件 不能上传,需要设置配置文件
配置文件修改
给予pub757权限,再重启服务
重启服务,上传测试
本地用户登陆
1.创建用户
2.然后客户端登陆
禁止登陆
1.全局禁止本地用户登陆
2.配置文件禁止
现在又可以登陆了
ftpusers 黑名单 添加进去后禁止登陆,在 /etc/vsftpd/ftpusers
在末尾添加了 ftp1这个用户
那么当你去登陆的时候就会出现
问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系?
首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载一些危险位置上的文件从而对系统造成损坏。
而user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单!那么是什么的设置决定了它的作用呢?这就是问题二要解释的。
所以简单总结就是:ftpusers和user_list没有任何关系,ftpusers文件总是生效,user_list则取决于userlist_enable和userlist_deny两项配置。
问题二:vsftpd.conf中的userlist_enable和userlist_deny两个配置项各自起什么作用,两者如何搭配使用?
为了说明这个问题,我们来建立两个测试用户:
vim /etc/vsftpd/user_list
ftp1: 在user_list中
tfp2:不在user_list中
然后我们分别给两个配置项取不同的值,分4种Case进行测试:
Case 1: userlist_enable=YES, userlist_deny=YES
ftp1: 拒绝登入
ftp2: 允许登录
Case 2: userlist_enable=YES, userlist_deny=NO
ftp1: 允许登录
ftp2:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)
Case 3: userlist_enable=NO,userlist_deny=NO
ftp1: 允许登录
ftp2: 允许登录
Case 4: userlist_enable=NO,userlist_deny=YES
ftp1: 允许登录
ftp2: 允许登录
综上实验得出以下结论:
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous
定制登陆信息
1.配置文件
默认情况会读取 ftp 用户家目录的.message文件,所以你可以创建一个.message文件到家目录中,比如有个用户 ftp1,
客户端登陆
禁锢在用户的主目录
默认情况下
注释
然后重启服务,然后将禁止访问上一级目录的用户添加到
chroot_list_file=/路径/chroot_list,这里的路径你可以自己指定,之后你要到指定的路径下面创建chroot_list文件。
创建两个用户账号,ftp1 和ftp2(前面已创建),在文件配置指定的路径下面创建chroot_list文件,将ftp1账号写入文件。
3.用ftp1登录,然后执行目录跳转命令,发现可以成功跳转;用ftp2登录,同样执行目录跳转命令,发现跳转失败。
接下来我们从另外一方面看,如果注释掉chroot_local_user=yes,再做上面的实验,结果刚好相反,ftp1不能随意跳转,而ftp2可以随意跳转。
结论:写入chroot_list文件的用户账号是有特权的账号,别人都不可以跳的时候,它可以随意跳转;别人都可以跳的时候,它不可以跳
补充:chroot_list 这个文件名,不是必须这么命名,你可以根据自己喜好命名,只要通过chroot_list_file这个配置好就ok了
当我们的chroot_local_user 设置为 NO 的时候,访问 发现被禁止了.