权限被拒绝mkdir /卷


9

尝试在Mac上的/ Volumes中创建或挂载时,我的权限被拒绝。我是一名管理员,我可以使用sudo来完成这两项操作,但是我不明白为什么我必须在此Mac上使用sudo而不在办公室的其他Mac上使用。

/Volumes
> mkdir foo
mkdir: foo: Permission denied

我的想法是使用chown / chmod,但我很犹豫是否先不问。

/Volumes
> ll
total 8
drwxr-xr-x@  4 root      admin   136B Apr 22 13:40 .
drwxr-xr-x  33 root      wheel   1.2K Mar 30 22:23 ..
drwxr-xr-x@ 11 medialab  staff   442B Apr 14 15:34 06b_SD_Video_BK
lrwxr-xr-x   1 root      admin     1B Apr 18 10:48 Macintosh_HD -> /

我们将LTO磁带安装到这台机器上,当前只能使用sudo来这样做。并非总是如此,我也不知道为什么突然需要sudo。

如何更改/ Volumes上的权限?


pkgutil --file-info /Volumes将为您提供设置/Volumes目录权限所需的信息
fd0

谢谢@ fd0。--file-info挂在终端上没有任何输出,所以我尝试了--file-info-plist
Bleakley16年

我不能发送太多的输出。
Bleakley

Answers:


15

该目录有访问控制限制。您可以从命令行检查这些内容:

ls -lOe /

(这是一个大写字母O,而不是零0)我建议将卷安装到另一个目录-/ tmp或$ TMPDIR,而不要弄乱旨在防止出现的限制-具有实际文件的实际目录/卷。

在不知道脚本和工作流程的情况下,很难猜测/建议,除非不更改下次修补系统时Apple会更改的内容。

您的LTO磁带供应商应具有软件,该软件可以使用Apple的磁盘仲裁框架来处理卷的挂载,因此您不必在脚本中管理挂载。


如果确定有帮助,则可以添加用户以在该目录中具有显式写访问权限:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes

谢谢@bmike。我肯定需要将LTO安装到/ Volumes。它是一个github脚本的一部分,需要这样做。
Bleakley16年

1
我必须做,我必须做sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .。这将删除ACL并为此文件夹和所有子文件夹创建新的ACL
Ray Foss

1

目录/ Volumes的默认权限为:

...
drwxrwxrwt@  4 root      admin  hidden  136 Apr 22 22:05 .
 0: group:everyone deny add_file,add_subdirectory,directory_inherit,only_inherit
...

我建议使用磁盘工具/ diskutil或第三方工具修复权限和/或手动修改权限。


谢谢@klanomath。我该如何手动修改权限?chmod 755 /Volumes没有完成它。
Bleakley

@Blake sudo chmod 777 /Volumes。您可能还需要sudo chmod +a|=a ....根据ls -le0 ...结果修改ACL 。
klanomath '16

谢谢。我确实必须修改ACL,这是我以前从未使用过的。
Bleakley's 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.