odmowa dostępu mkdir / Volumes

9

Otrzymuję odmowę dostępu podczas próby utworzenia lub zamontowania w / Volumes na moim komputerze Mac. Jestem administratorem i mogę robić obie te rzeczy z sudo, ale nie rozumiem, dlaczego muszę używać sudo na tym komputerze Mac, ale nie na innych komputerach Mac w moim biurze.

/Volumes
> mkdir foo
mkdir: foo: Permission denied

Mam na myśli użycie chown / chmod, ale waham się przed zrobieniem tego bez pytania.

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

Montujemy taśmy LTO na tym komputerze i obecnie możemy to zrobić tylko przy użyciu sudo. Nie zawsze tak było i nie wiem, dlaczego sudo jest nagle potrzebne.

Jak mogę zmienić uprawnienia na / Woluminy?

Bleakley
źródło
pkgutil --file-info /Volumespoda informacje, które należy ustawić, aby ustawić uprawnienia do /Volumeskatalogu
fd0,
Dzięki @ fd0. --file-infowisiał w terminalu bez wyjścia, więc spróbowałem--file-info-plist
Bleakley,
Nie mogę wysłać zbyt wiele danych wyjściowych.
Bleakley,

Odpowiedzi:

15

Istnieją ograniczenia kontroli dostępu do tego katalogu. Możesz je sprawdzić z wiersza poleceń:

ls -lOe /

(To wielka litera O, a nie zero 0). Sugerowałbym zamontowanie woluminu w innym katalogu - albo / tmp lub $ TMPDIR, zamiast mieszania się z ograniczeniami, które zostały zaprojektowane, aby zapobiec temu, co masz - rzeczywisty katalog z rzeczywistymi plikami w /Wolumeny.

Bez znajomości skryptu i przepływu pracy ciężko zgadnąć / doradzić, nie zmieniając rzeczy, które Apple zmieni przy następnej aktualizacji systemu.

Twój dostawca taśm LTO powinien mieć oprogramowanie do obsługi montowania woluminu w sposób wykorzystujący strukturę arbitrażu dyskowego Apple, abyś nie musiał zarządzać podłączeniami w skrypcie.


Możesz dodać użytkownika, który ma wyraźny dostęp do zapisu w tym katalogu, jeśli masz pewność, że to pomoże:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes
bmike
źródło
Dzięki @bmike. Zdecydowanie muszę zamontować LTO na / Volumes. Jest to część skryptu github, który tego wymaga.
Bleakley,
1
Musiałem to zrobić sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .. Który usuwa listy ACL i tworzy nowe dla tego folderu i wszystkich podfolderów
Ray Foss
1

Domyślne uprawnienia do katalogu / woluminów to:

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

Sugeruję naprawić uprawnienia za pomocą Narzędzia dyskowego / diskutil lub narzędzia innej firmy i / lub ręcznie zmodyfikować uprawnienia.

klanomath
źródło
Dzięki @klanomath. Jak mogę ręcznie zmodyfikować uprawnienia? chmod 755 /Volumesnie robi tego.
Bleakley
@Blake sudo chmod 777 /Volumes. Być może będziesz musiał zmodyfikować listę ACL również w sudo chmod +a|=a ....zależności od ls -le0 ...wyniku.
klanomath
Dzięki. Musiałem zmodyfikować listę ACL, z którą nigdy wcześniej nie pracowałem.
Bleakley,