我刚刚读到如何为不同类型的用户设置用户权限。我想创建一个场景,其中用户可以通过 ssh 进入系统,但只能在 /tmp 中创建(写入)文件。不应允许在其他地方进行写入访问。此外,他不应能够查看 /tmp 中其他用户的文件,更不用说删除它们了。
我相信我可以通过删除 /tmp 的读取和执行权限并设置粘滞位来完成任务的后半部分。
但是我该如何从系统其余部分删除用户的写访问权限?
答案1
我想创建一个场景,其中用户可以通过 ssh 进入系统,但只能在 /tmp 中创建(写入)文件。不应允许在其他地方进行写入访问。
在标准的 Linux 安装中,用户只能写入/tmp
和他们的主目录。因此,您可以通过将用户的权限设为$HOME
只读并由 root 拥有来实现这一点。
此外,他不应该能够查看 /tmp 内的其他用户文件,更不用说删除它们了。
通过为所有用户提供限制性 umask(例如077
)pam_umask
,然后放粘性 位 上/tmp
。
另外,玩一玩pam_namespace
——你可以给每个用户他自己的/tmp
。
我相信我可以通过删除 /tmp 的读取和执行权限并设置粘滞位来完成任务的后半部分。
不正确。如果没有执行权限/tmp
,用户将无法访问或创建任何事物在该目录中。如果没有粘性位,则任何具有写入权限的人/tmp
都可以删除任何人的文件。
但是我该如何从系统其余部分删除用户的写访问权限?
他们没有有默认具有写权限。请参阅此答案的顶部。