/etc/vsftpd/vsftpd.conf
1.匿名用户登录anonymous或ftp:默认是匿名用户可以登录的。,这时登录的默认位置是**/var/ftp**,虚拟的用户为ftp用户,位置下有个pub目录。
我们一般禁止匿名用户登录,这时需修改配置文件/etc/vsftpd/vsftpd.conf
YES改为NO
保存退出,重启服务 systemctl restart vsftpd.service
,如果发现还能匿名登录就关机重启试试。
2.本地用户:使用Linux系统用户和密码。默认登录位置为/home/用户名
用户的家目录
我们发现本地用户登录ftp后能够切换到任意目录,可以去根目录下,可以获得任何文件,这样明显会造成安全问题。所以为了**限制登录的用户只能在家目录下,**我们可以修改配置文件然后重启服务:
这三句话中第一句话起到限制作用,第二句话是指可以认为指定哪些用户不受限制,可以随意切换目录,只要把不需要限制的用户的用户名写在/etc/vsftpd/chroot_list
文件中即可。如果没有这个文件,需手动穿件,而且文件名和文件位置必须与上面一致。
固定默认登录位置的方法:在配置文件下添加
local_root=/tmp/ 固定在tmp目录下,而不是在家目录下
注意
发现ftp登录报错:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
有两种解决办法
方法一:到/home目录下 chmod a-w admin
就可以去除用户admin的写权限,其他用户也使用其方式。
方法二:在配置文件里添加这句:allow_writeable_chroot=YES
,保存退出,重启服务,最好重新关机开机。