运行“ls -al”后的 + 或 @ 标记

运行“ls -al”后的 + 或 @ 标记

在 Mac OS X 中,运行“ls -al”会给我这样的结果。

drwxrwxrwx+ 4 smcho 工作人员 136 5 月 5 日 09:18 公开
drwxr-xr-x+ 6 smcho 员工 204 2010 年 2 月 1 日
drwxrwxrwx 9 smcho 员工 306 2010 年 2 月 2 日备份
drwxr-xr-x@ 36 smcho 工作人员 1224 九月 4 22:51 bin
  • 第一列末尾的+或@是什么意思?
  • 这是 Mac 独有的,还是 UNIX 中常见的?

添加

在 Michael Mrozek 回答后,我运行“ls -ale”以获得以下内容。

drwx------+ 66 smcho 工作人员 2244 八月 30 13:40 图书馆
 0: group:com.apple.sharepoint.group.3 允许搜索
 1:群组:所有人都拒绝删除
drwxr-xr-x 3 smcho 工作人员 102 九月 4 15:01 邮件
drwx------+ 13 smcho 工作人员 442 八月 28 17:55 电影
 0:组:所有人都拒绝删除
drwx------+ 6 smcho 工作人员 204 年 7 月 9 日 09:37 音乐
 0:组:所有人都拒绝删除
drwx------+ 11 smcho 工作人员 374 八月 28 16:55 图片
 0:组:所有人都拒绝删除
drwxr-xr-x 3 smcho 工作人员 102 三月 18 15:43 项目
drwxrwxrwx+ 4 smcho 工作人员 136 5 月 5 日 09:18 公开
 0:组:所有人都拒绝删除
drwxr-xr-x+ 6 smcho 员工 204 2010 年 2 月 1 日
 0:组:所有人都拒绝删除

那些附加的消息是什么意思?为什么我有一些文件需要它们?我不记得为他们做过什么特别的事情。

答案1

@后缀是 Mac OS 所特有的,并由这个问题,所以我从那里复制了我的答案的这一部分;这意味着该文件有扩展属性。您可以使用xattr命令行实用程序来查看和修改它们:

xattr --list filename
xattr --set propname propvalue filename
xattr --delete propname filename

后缀+表示该文件具有访问控制列表,并且在任何支持 ACL 的 *nix 中都很常见。给出ls-e标志将使其在文件后显示关联的 ACL,然后chmod可用于修改。其中大部分来自chmod手册页:

您可以使用 添加 ACL chmod +a "type:name flag permission,...",并使用 删除它chmod -a。的论证chmod相当复杂:

  • 类型usergroup,以澄清是否name指的是用户名或组名。如果name明确,则可以省略类型
  • 姓名是 ACL 应用的用户名或组
  • 旗帜allow此 ACL 条目是否正在授予权限,或者deny是否正在拒绝权限
  • 允许是实际被修改的权限;您可以列出任意数量的内容,以逗号分隔
    • 删除-- 允许删除文件/目录
    • 读取属性-- 读取基本属性
    • 写属性-- 写入基本属性
    • 读取数据-- 读取扩展属性(使用xattr上面的 , )
    • 写入外部数据-- 写入扩展属性
    • 阅读安全性-- 读取ACL信息
    • 写安全性-- 写入ACL信息
    • 乔恩-- 改变所有者
    • 特定于目录的权限
      • 列表-- 显示目录中的文件/文件夹
      • 搜索-- 按名称查找目录中的文件/文件夹
      • 添加文件-- 在目录下新建文件
      • 添加子目录-- 在目录下新建一个目录
      • 删除子对象-- 删除目录中的文件/目录
      • 继承控制
        • 文件继承-- 目录上的 ACL 由文件继承
        • 目录继承-- 目录上的 ACL 被子目录继承
        • 限制继承-- 阻止子目录继承该目录继承的 ACL
        • 仅继承-- 被所有新创建的项目继承但被忽略
    • 文件特定权限
      • -- 打开文件进行读取
      • -- 打开文件进行写入
      • 附加-- 打开要追加的文件
      • 执行-- 运行文件

在您的特定示例中,大多数 ACL 条目都是group:everyone deny delete.也就是说,该everyone组中的所有用户(自然是每个人)都被拒绝删除该文件夹的权限。我相信,虽然我找不到任何相关文档,但这些是默认 ACL,可以阻止您删除重要的根文件夹——如果情况并非如此,有人会更正这一点。唯一的其他条目是,它允许目录服务按文件夹group:com.apple.sharepoint.group.3 allow search中的名称搜索文件/Library

相关内容