Я создал каталоги в корне. Я ищу команду chmod
чтобы разрешить всем пользователям права на чтение и запись для определенного каталога. Я сделал chmod 775
для файла, но мне нужно это для каталога. Это включает в себя разрешения на все файлы и подкаталоги.
3 ответа
Для всех пользователей, имеющих доступ для чтения и записи, это будет 0777
что немного опасно, особенно если вы используете веб-сервер.
Как сказал @unwind:
chmod -R 0777 /mydirectory
всем пользователям доступ для чтения и записи ко всем файлам и папкам в этом каталоге.
В зависимости от вашей цели, вы можете прочитать о залипших битах, которые позволяют всем пользователям создавать новые файлы, но не удалять или редактировать другие файлы в каталоге:
chmod +t /mydirectory
Кроме того, в случае, если вы не знали, что man chmod
вызовет страницу руководства для команды chmod
, в которой вы можете найти текст "recursive", набрав /recursive
0775
редко подходит для файла. Следующее добавит соответствующие требуемые разрешения к соответствующему типу, не нарушая другие существующие разрешения:
find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)
См. Справочную страницу для поиска, чтобы помочь расшифровать это.
Это не то, как работает модель защиты Unix, вы не можете устанавливать разрешения рекурсивно. Вы должны установить их в каждом каталоге, полностью "вниз".
Конечно, вы можете выполнить настройку рекурсивно, но это означает только "пройти и установить эти разрешения для всех файлов и папок ниже", что не совсем так, как я понимаю ваш вопрос.
Для этого используйте опцию -R для chmod:
$ chmod -R 0755 /my-cool-directory