假设系统仅添加了 1 个新用户并授予其 root(管理员)权限。
我们希望保证用户主目录中的用户文件的安全,这意味着除了 root 之外,没有其他用户可以访问这些文件\目录。
这可以使用umask,但 umask 设置权限全球在文件系统上,而不仅限于用户主目录。
我们希望将默认文件和目录权限保留在用户主目录之外,因为用户习惯于在用户主目录之外管理和安装可执行文件,以便其他用户可以使用它。
您能否建议实现上述目标的最佳做法是什么?
tl;dr:如何强化 root(管理员)文件和目录权限,同时仍允许其他人访问 root 用户安装的常规可执行文件。
答案1
参见DIR_MODE
/etc/adduser.conf
# If DIR_MODE is set, directories will be created with the specified
# mode. Otherwise the default mode 0755 will be used.
DIR_MODE=0755
您想要的是 0700,并且除了 $USER 和 root 之外,其他任何人都不允许进入在 /home/$USER/ 中创建的目录。
可选:还有
/etc/pam.d/common-session
查看 ...
# The pam_umask module will set the umask according to the system default in
# /etc/login.defs and user settings, solving the problem of different
# umask settings with different shells, display managers, remote sessions etc.
# See "man pam_umask".
添加
session optional pam_mkhomedir.so to session optional pam_mkhomedir.so umask=0077
作用相同(umask 与 chmod 相反,因此 chmod 0700 的 umask 为 0077)