autorisation refusée mkdir / Volumes

9

Je reçois une autorisation refusée lorsque je tente de créer ou de monter sur / Volumes sur mon Mac. Je suis administrateur et je peux faire ces deux choses avec sudo, mais je ne comprends pas pourquoi je dois utiliser sudo sur ce mac mais pas sur d'autres macs de mon bureau.

/Volumes
> mkdir foo
mkdir: foo: Permission denied

Mes pensées sont d'utiliser chown / chmod mais j'hésite à le faire sans demander d'abord.

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

Nous montons des bandes LTO sur cette machine et ne pouvons actuellement le faire qu'en utilisant sudo. Ce ne fut pas toujours le cas et je ne sais pas pourquoi sudo est soudainement requis.

Comment changer les autorisations sur / Volumes?

Bleakley
la source
pkgutil --file-info /Volumesvous donnera les informations dont vous avez besoin pour définir les autorisations sur le /Volumesrépertoire
fd0
Merci @ fd0. --file-infoétait suspendu dans le terminal sans sortie, j'ai donc essayé--file-info-plist
Bleakley
Je ne peux pas envoyer beaucoup de sortie.
Bleakley

Réponses:

14

Il existe des restrictions de contrôle d'accès sur ce répertoire. Vous pouvez les inspecter depuis la ligne de commande:

ls -lOe /

(C'est une lettre majuscule O et non un zéro 0) Je suggérerais de monter votre volume dans un autre répertoire - soit / tmp ou $ TMPDIR plutôt que de jouer avec les restrictions conçues pour empêcher ce que vous avez - un répertoire réel avec des fichiers réels dans / Volumes.

Sans connaître votre script et votre flux de travail, il est difficile de deviner / conseiller autre que de ne pas changer les choses qu'Apple changera la prochaine fois que vous corrigerez le système.

Votre fournisseur de bandes LTO doit disposer d'un logiciel pour gérer le montage du volume d'une manière qui utilise le cadre d'arbitrage de disque d'Apple afin que vous n'ayez pas à gérer les montages dans un script.


Vous pouvez ajouter un utilisateur pour avoir un accès en écriture explicite dans ce répertoire si vous êtes certain que cela vous aidera:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes
bmike
la source
Merci @bmike. J'ai vraiment besoin de monter le LTO sur / Volumes. Cela fait partie d'un script github qui l'exige.
Bleakley
1
Je devais faire, je devais faire sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .. Ce qui supprime les ACL et en crée de nouveaux pour ce dossier et tous les sous
Ray Foss
1

Les autorisations par défaut du répertoire / Volumes sont:

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

Je suggère de réparer les autorisations avec Disk Utility / diskutil ou un outil tiers et / ou de modifier les autorisations manuellement.

klanomath
la source
Merci @klanomath. Comment puis-je modifier manuellement les autorisations? chmod 755 /Volumesne le fait pas.
Bleakley
@Blake sudo chmod 777 /Volumes. Vous devrez peut-être également modifier l'ACL en sudo chmod +a|=a ....fonction de votre ls -le0 ...résultat.
klanomath
Merci. J'ai dû modifier l'ACL, avec laquelle je n'avais jamais travaillé auparavant.
Bleakley