Debian 用户对文件和目录的权限

Debian 用户对文件和目录的权限

我有 4 个用户(第一 - 第四)和用户所属的两个组: pro:(第一和第二用户) lammer:(第三和第四用户)每个人的主目录为/home/pro/first, /home/pro/second, /home/lammer/third, /home/lammer/fourth

我的问题来自于我并不真正理解练习要求我做什么(这将是粗略的翻译)。

用户可以对他们的文件做任何他们想做的事情。
同组用户可以在彼此的根目录中修改和写入(例如: in /home/pro/first,但不能 in /home/pro/first/example)?
用户/home/pro/first只能删除自己创建的文件,不能删除别人创建的文件。 (可能也适用于其他人)

我的想法是对每个文件执行以下操作:

chown first:pro /home/pro/pirmas
chmod 720 /home/pro/pirmas

但这是否也阻止人们删除他人创建的文件以及在 中创建文件/home/pro/pirmas/example

答案1

你需要的是粘性位。从man chmod

限制删除标志或粘性位

限制删除标志或粘性位是单个位,其解释取决于文件类型。对于目录,它可以防止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录;这称为目录的限制删除标志,通常在 /tmp 等全局可写目录中找到。对于某些旧系统上的常规文件,该位将程序的文本图像保存在交换设备上,以便运行时加载速度更快;这称为粘性位。

为了使目录具有首选权限,我会使用

chmod 1770 /home/pro/pirmas

除了写入之外,该组至少需要执行位,否则他们无法cd访问该目录。我建议也提供读取位,否则他们无法看到那里的文件列表,即使他们可以创建、编辑和删除它们:)

有关权限的更多信息,请参阅例如这个优秀的答案 相关问题。

相关内容