今天突然之间,登录其中一个ftp帐号,但是居然能看到网站所在目录,而且还能到上一目录,甚至还能到其他目录,顿时傻眼了.
把chroot_list下载下来后,用Dreamweaver打开看,没问题,又把vsftpd.conf 也下载下来用Dreamweaver打开看也没问题啊,到处搜索相关问题,都是叫设置
chroot_list_enable=YES
然后在chroot_list里面将帐号填入,一个一行,就可以了
chroot_list_file=/etc/vsftpd/chroot_list
但是我检查完全没问题,后来搜索到要加一行chroot_local_user=NO,添加进去后,仍然无效,下面补充一下这个知识:
如果设置为
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户
即, 可以浏览其主目录的上级目录.
所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在
文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
或者, 设置如下
chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd/chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)
中即可(一行一个用户名).
最后又恢复最初,然后重启ftp,但是报错
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anonymous_enable
这就更奇怪了,我都恢复到最初没修改的位置了,这里是用Ctrl+Z,在Dreamweaver里面撤销修改的,然后覆盖了chroot_list以及vsftpd.conf,最后实在没法,我突然想到,是不是就是因为在Windows下用Dreamweaver修改了的缘故,于是还是老老实实用ssh命令来
vi /etc/vsftpd/chroot_list
果不其然出现如下奇怪字符
于是乎,把这些字符删除,然后保存,重启vsftpd ,重启命令service vsftpd restart
再测试,这下好了,ftp用户再也不能跨目录了,这次总结出来:Linux的东西还是老老实实用vi命令编辑把,用Windows下的软件可能会遇到意想不到的错误.
再传份vsftpd.conf给大家下载,免得那些修改了,无法还原的.
vsftpd.conf
编码和格式的问题,用dos2unix就可以转换了。
何不完全用Linux工作?
就是不熟悉Linux撒,所以才出了这些问题.
呵呵,想熟悉就多用用吧