Erlaubnis verweigert mkdir / Volumes

9

Beim Versuch, at / Volumes auf meinem Mac zu erstellen oder zu mounten, wird mir die Berechtigung verweigert. Ich bin ein Administrator und kann beides mit sudo tun, aber ich verstehe nicht, warum ich sudo auf diesem Mac verwenden muss, aber nicht auf anderen Macs in meinem Büro.

/Volumes
> mkdir foo
mkdir: foo: Permission denied

Meine Gedanken sind, chown / chmod zu verwenden, aber ich zögere, dies zu tun, ohne vorher zu fragen.

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

Wir montieren LTO-Bänder an dieser Maschine und können dies derzeit nur mit sudo tun. Dies war nicht immer der Fall und ich weiß nicht, warum plötzlich Sudo benötigt wird.

Wie ändere ich die Berechtigungen für / Volumes?

Bleakley
quelle
pkgutil --file-info /Volumesgibt Ihnen die Informationen, die Sie benötigen, um die Berechtigungen für das /VolumesVerzeichnis
festzulegen
Danke @ fd0. --file-infohing im Terminal ohne Ausgabe, also versuchte ich es--file-info-plist
Bleakley
Ich kann nicht viel von der Ausgabe senden.
Bleakley

Antworten:

14

Für dieses Verzeichnis gelten Zugriffssteuerungsbeschränkungen. Sie können diese über die Befehlszeile überprüfen:

ls -lOe /

(Das ist ein Großbuchstabe O und keine Null 0) Ich würde vorschlagen, Ihr Volume in ein anderes Verzeichnis zu mounten - entweder / tmp oder $ TMPDIR, anstatt mit den Einschränkungen zu spielen, die verhindern sollen, was Sie haben - ein tatsächliches Verzeichnis mit tatsächlichen Dateien in / Bände.

Ohne Kenntnis Ihres Skripts und Ihres Workflows ist es schwer zu erraten / zu raten, außer Dinge nicht zu ändern, die Apple beim nächsten Patchen des Systems wieder ändert.

Ihr Anbieter der LTO-Bänder sollte über eine Software verfügen, mit der das Mounten des Volumes unter Verwendung des Apple Disk Arbitration Frameworks durchgeführt werden kann, damit Sie die Mounts nicht in einem Skript verwalten müssen.


Sie können einen Benutzer hinzufügen, der expliziten Schreibzugriff in diesem Verzeichnis hat, wenn Sie sicher sind, dass dies hilfreich ist:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes
bmike
quelle
Danke @bmike. Ich muss den LTO definitiv auf / Volumes montieren. Es ist Teil eines Github-Skripts, das dies erfordert.
Bleakley
1
Ich musste tun, ich musste tun sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .. Dadurch werden die ACLs gelöscht und neue für diesen Ordner und alle Unterordner erstellt
Ray Foss
1

Die Standardberechtigungen für das Verzeichnis / die Volumes sind:

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

Ich empfehle, Berechtigungen entweder mit dem Festplatten-Dienstprogramm / diskutil oder einem Drittanbieter-Tool zu reparieren und / oder die Berechtigungen manuell zu ändern.

Klanomath
quelle
Danke @klanomath. Wie kann ich die Berechtigungen manuell ändern? chmod 755 /Volumesschafft es nicht.
Bleakley
@Blake sudo chmod 777 /Volumes. sudo chmod +a|=a ....Abhängig von Ihrem ls -le0 ...Ergebnis müssen Sie möglicherweise auch die ACL ändern .
Klanomath
Vielen Dank. Ich musste die ACL ändern, mit der ich noch nie gearbeitet hatte.
Bleakley