如何防止用户更改其主目录权限?

如何防止用户更改其主目录权限?

如果用户smith的主目录具有以下权限:

$ ls -l /home/staff
drwxr-x---   51 smith    staff       4096 Sep 18 09:08 smith/

是否有可能以某种方式阻止他将他的主目录的权限更改为例如 755?

答案1

一种方法是使用每用户组(即每个用户一个组),然后将主目录权限设置为 root:smith,模式 0770。

另一种(更hacky)的方法是编写脚本:创建一个脚本来检查驻留在/ home(例如不是/ root)下的所有主目录(通过setpwent()/ getpwent()获取它们),并使其在存在时发出警告差异或当场更改权限。

过去我自己在多用户环境中完成了后者,并且工作了很多年。

答案2

仅当相关操作系统和文件系统支持 NTFS 和 ZFS 使用且由 NFSv4 标准化的 ACL 标准时,您的愿望才可能实现。

因此,您是否能够做您喜欢的事情取决于操作系统和文件系统。

传统的 UNIX 规则是目录的用户所有权也允许访问模式更改。使用 ACL,您可以拒绝用户更改其自己目录的 ACL。

答案3

这将每 15 秒重新应用一次权限:

watch -n15 "chmod 0700 *"

或者创建一个 cronjob 每隔一分钟左右重新应用权限。

相关内容