permiso denegado mkdir / Volumes

9

Recibo un permiso denegado cuando intento crear o montar / Volumes en mi mac. Soy administrador y puedo hacer ambas cosas con sudo, pero no entiendo por qué tengo que usar sudo en esta Mac pero no en otras Mac de mi oficina.

/Volumes
> mkdir foo
mkdir: foo: Permission denied

Mis pensamientos son usar chown / chmod pero dudo en hacerlo sin preguntar primero.

/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 -> /

Montamos cintas LTO en esta máquina y actualmente solo podemos hacerlo usando sudo. Este no siempre fue el caso y no sé por qué de repente se requiere sudo.

¿Cómo hago para cambiar los permisos en / Volúmenes?

Bleakley
fuente
pkgutil --file-info /Volumesle dará la información que necesita para establecer los permisos en el /Volumesdirectorio
fd0
Gracias @ fd0. --file-infoestaba colgando en la terminal sin salida, así que lo intenté--file-info-plist
Bleakley
No puedo hacer mucho envío de la salida.
Bleakley

Respuestas:

14

Hay restricciones de control de acceso en ese directorio. Puede inspeccionarlos desde la línea de comando:

ls -lOe /

(Esa es una letra mayúscula O y no un cero 0) Sugeriría montar su volumen en otro directorio, ya sea / tmp o $ TMPDIR en lugar de jugar con las restricciones que están diseñadas para evitar lo que tiene, un directorio real con archivos reales en / Volúmenes.

Sin conocer su secuencia de comandos y flujo de trabajo, es difícil adivinar / aconsejar, aparte de no cambiar las cosas que Apple cambiará la próxima vez que parchee el sistema.

Su proveedor de las cintas LTO debe tener un software para manejar el montaje del volumen de una manera que use el marco de arbitraje de disco de Apple para que no tenga que administrar los montajes en un script.


Puede agregar un usuario para tener acceso de escritura explícito en ese directorio si está seguro de que eso es lo que ayudará:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes
bmike
fuente
Gracias @bmike. Definitivamente necesito montar el LTO en / Volumes. Es parte de un script github que requiere eso.
Bleakley
1
Tenía que hacer, tenía que hacer sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .. Que elimina las ACL y crea otras nuevas para esta carpeta y todas las subcarpetas
Ray Foss
1

Los permisos predeterminados del directorio / Volúmenes son:

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

Sugiero reparar los permisos con Disk Utility / diskutil o una herramienta de terceros y / o modificar los permisos manualmente.

klanomath
fuente
Gracias @klanomath. ¿Cómo puedo modificar los permisos manualmente? chmod 755 /Volumesno lo está haciendo.
Bleakley
@Blake sudo chmod 777 /Volumes. Es posible que deba modificar la ACL también sudo chmod +a|=a ....según su ls -le0 ...resultado.
klanomath
Gracias. Tuve que modificar la ACL, con la que nunca había trabajado antes.
Bleakley