разрешение отклонено mkdir /Volumes

Мне отказывают в разрешении при попытке создать или смонтировать в /Volumes на моем Mac. Я администратор и могу делать обе эти вещи с помощью sudo, но я не понимаю, почему я должен использовать sudo на этом Mac, но не на других компьютерах 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. --file-infoзавис в терминале без вывода, поэтому я попытался--file-info-plist
Я не могу сделать много отправки вывода.

Ответы (2)

Существуют ограничения контроля доступа к этому каталогу. Вы можете проверить их из командной строки:

ls -lOe /

(Это заглавная буква O, а не ноль 0). Я бы предложил смонтировать ваш том в другой каталог — либо /tmp, либо $TMPDIR, а не связываться с ограничениями, которые предназначены для предотвращения того, что у вас есть — реальный каталог с реальными файлами в /Тома.

Не зная вашего сценария и рабочего процесса, трудно предположить/посоветовать, кроме как не менять вещи, которые Apple вернет обратно в следующий раз, когда вы исправите систему.

У вашего поставщика лент LTO должно быть программное обеспечение для управления монтированием тома с использованием структуры арбитража дисков Apple, чтобы вам не приходилось управлять монтированием в сценарии.


Вы можете добавить пользователя, чтобы иметь явный доступ на запись в этот каталог, если вы уверены, что это поможет:

sudo chmod +a "User 1:allow:add_subdirectory" /Volumes
Спасибо @bmike. Мне определенно нужно смонтировать LTO в /Volumes. Это часть скрипта github, который требует этого.
Я должен был сделать, я должен был сделать sudo chmod -RN; sudo chmod +a "myusername:allow:add_subdirectory,add_file" .. Который удаляет ACL и создает новые для этой папки и всех подпапок.

Разрешения по умолчанию для каталога /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не получается.
@ Блейк sudo chmod 777 /Volumes. Возможно, вам также придется изменить ACL в sudo chmod +a|=a ....зависимости от вашего ls -le0 ...результата.
Спасибо. Мне пришлось изменить ACL, с которым я никогда раньше не работал.