Я обновился с Эль-Капитана до Высокой Сьерры (бета-версия 9). На Эль-Капитане работает команда chmod -R -r <path to dir>
работает отлично (рекурсивно отменяет права на чтение). На High Sierra я получаю сообщение об ошибке, не связанной со смыслом chmod: <path to dir>: Permission denied
,
Обратите внимание, что аддитивные команды, такие как chmod -R +r <path to dir>
делать отлично работает на Высокой Сьерре.
Я проверил это на основном системном томе моего внутреннего диска MPB (файловая система APFS, поскольку установщик автоматически преобразует тома HFS + на твердотельные накопители) и на RAM-диске HFS +. Поведение было таким же.
Это достойно сообщения об ошибке в Apple? Я что-то пропустил?
macos
file-permissions
chmod
NameZero912
источник
источник
/tmp/somefolder
, затемchmod -R -r /tmp/somedir
всегда терпит неудачу (независимо от того, есть ли у него дочерние объекты или нет), в то время какsudo chmod -R -r /tmp/somedir
преуспевает. Зачем мне нужны sudo / admin-permissions для рекурсивного удаления прав на чтение из dir?!?chmod -R -r /tmp/somedir
не удается, права на чтение отменяются для/tmp/somedir
, но не для каких-либо подкаталогов (если они есть) -sudo
требуется действительно выполнить изменение разрешения рекурсивно. Это не имеет никакого смысла, и предполагает, что chmod реализован очень плохо (и это никогда не было обнаружено по какой-то причине ... это просто не может быть правдой!). Мне кажется, что chmod сначала применяет операцию к каталогу самого высокого уровня, а затем не может применить ее к подкаталогам (и даже терпит неудачу, если их нет).find <path> -d -exec chmod -r {} ";"
это путь