2

Я хотел иметь данную папку и файл и всех потомков, разрешения на запись.

Я хотел, чтобы ВСЕ файлы и папки могли быть рекурсивно предоставлены, он имеет следующие разрешения: 777

Итак, я попробовал:

chmod -r 777 ~/Folder/app/

Затем я получил что-то вроде:

chmod: 777: No such file or directory

Затем я пошел в ~/Folder/app/ и попытался выполнить ls -la для проверки прав доступа.

Я получил:

.: Permission Denied

Я тогда сделал:

sudo ls -la

и тогда я увидел, что .. специальная папка имеет: 777 разрешений, но не остальные.

Как я могу восстановить это, не удаляя ~/Folder/app/ ?

Я имею в виду:как мы можем позволить ls снова работать без ввода sudo в этой папке?И как-нибудь исправить беспорядок, который я сделал, используя -r вместо -R?

1 ответ1

4

Как я отмечал в моих комментариях, вам нужно либо указать --recursive или -R (прописной R) для chmod чтобы он работал рекурсивно.

-r (нижний регистр R) означает удаление прав на чтение (по крайней мере, на мой взгляд). Эта операция будет затем применена к следующему параметру, который является 777 .

Таким образом, ваш вызов удалит права на чтение из файла с именем 777 . Этот файл не существует, таким образом, сообщение об ошибке

chmod: 777: No such file or directory

Я не уверен, что chmod прервался или попытался удалить права на чтение из следующего параметра ~/Folder/app/ .
В последнем случае он даже удалит разрешения на чтение из вашей папки, делая в точности противоположное тому, что вы хотели в первую очередь :)

Теперь, чтобы решить эту проблему, просто используйте правильный синтаксис:

chmod --recursive 777 ~/Folder/app/

Это вернет вам права на чтение (и примените ваш режим 777 ко всем дочерним элементам этой папки). Пожалуйста, обратите внимание на комментарий Денниса Уильямсона, вы почти никогда не хотите устанавливать режим 777.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .