读取其他用户主目录的权限

读取其他用户主目录的权限

我在用户主目录的读/写权限方面遇到一些问题。

我有一个用户可以通过 ftp 上传数据(比方说ftp_user),并且该用户有自己的/home/ftp_user目录。

我需要/home/ftp_user以只读模式从其他标准用户(不是所有人)进行访问,以便在需要时查看和复制上传的内容。

我尝试在 /home/ftp_user/ 上使用 a chgrpand chmod(644),但这样就ftp_user失去了所有权和读/写权限。我可以设置 777,但我认为这不是最好的解决方案,我只想向某些用户授予读取访问权限。

有什么建议吗?

谢谢!

更多:完美的解决方案是仅共享特定目录,例如/home/ftp_user/shared.如果有必要的话,我正在运行 Ubuntu 16.04。

答案1

假设应该有权访问的每个人都是该组的成员ftp_user

# get everything in a defined state
chown -R ftp_user:ftp_user /home/ftp_user
chmod -R u=rwX,g=,o= /home/ftp_user
# allow the group to access contents of the home dir (no content listing)
chmod 710 /home/ftp_user
# give the group read access to everything
chmod -R u=rwX,g=r,o= /home/ftp_user/shared
# give the group access to directories and give newly created (`cp`, not `mv`) objects the same group
find /home/ftp_user/shared -type d -exec chmod g=rxs {} +

这不会阻止访问稍后/home/ftp_user以超过所有者的读取/执行权限创建的文件或目录。这可以使用默认 ACL 来完成/home/ftp_user

setfacl -d -m u::rwx,g::-,o:- /home/ftp_user

相关内容