我对 Mac OS 10.9 或其底层 BSD 中看到的一些行为感到困惑。
我是一名管理员,想为家人添加一个账户。他们不太懂,所以我想确保他们不会意外删除我的文件,即标准的 UNIX 账户分离。
因此,我通过“首选项”>“用户”创建了一个标准(非管理员)帐户。经过实验,我惊讶地发现,当我在主目录中创建一个文件时(我将其权限更改为drwx------
,即模式700
),新用户仍然可以cd
进入此目录(!)并删除我的文件!
我看到新用户在“staff”组中,这也是与我的主目录关联的组。但我的模式 700 是否意味着该组无关紧要,并且用户必须是我才能查看和删除其中的文件?
- 使困惑
答案1
我不确定我是否正确理解了您的描述;您是否将主目录的权限更改为 700,或者将主目录中的新文件的权限更改为 700?如果您在文件上设置了权限,则与删除文件无关 - 文件权限控制对文件内容的访问,移动、重命名和删除文件不会更改其内容。相反,移动、重命名和删除都会更改文件所在目录的内容,因此仅取决于目录的权限。
请注意,除了您之外,没有人应该对您的主目录具有写权限(需要移动、重命名和删除其中的文件)。使用以下命令检查其权限ls -lde ~
:
$ ls -lde ~
drwxr-xr-x@ 61 gordon staff 2074 Dec 18 09:45 /Users/gordon
0: group:everyone deny delete
我的主页(如上所示)具有标准 OS X 权限 - 模式为 755(只有我有写入权限,组和其他人只有读取和执行权限),并且还有一个访问控制条目,拒绝任何人(包括我)删除它。访问控制条目会覆盖常规 unix 权限,因此您的 ACL 可能允许其他用户从您的主页中删除内容。