因业务需求,捡起了好久没碰的代码和Linux,学会了javascript和node-red等。填平了好多坑,还比较开心。在开心之余又碰到了一个FTP登录问题。
背景:需要修改用户家目录。
直接上图
如图,在本地用户登录FTP的情况下碰到了 “500 OOPS:cannot change directory” 的问题。回头看了看自己的博客,该设置的也都设置了,selinux也设置了。但是还是会出现500报错。于是我只能把目光聚焦到目录上。
在不修改用户家目录的情况下,是可以登录成功的。对比两个目录:所有人和所有组都相同,且都是700权限。那么又是什么原因呢?我又把目光聚焦到他们的父级目录。
用户默认的家目录是在/home。我先查看了home的权限:755:root:root
于是我大胆得出结论:需要每一级父目录在其他用户有可读的权限,因为其他用户需要读进去后才能看到子目录。以下是对这个猜测的尝试。
1.将用户家目录修改为/var/lib/docker/overlay2 ,此时docker目录和overlay2目录在其他用户下都没有可读。ftp登录失败.
2.修改docker和overlay2为755权限,FTP登录成功