Случайно удалены разрешения на чтение из папки. Как мне вернуться обратно?
Я хотел иметь заданную папку и файл и всех потомков, разрешения на запись.
Я хотел, чтобы ВСЕ файлы и папки могли быть рекурсивно предоставлены, чтобы он имел следующие разрешения: 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 ответ
Как я отметил в моих комментариях, вам необходимо либо --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.