Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | Следующая версия Следующая версия справа и слева | ||
wiki:стандартные_права_unix [2016/03/30 12:07] [Расширенные права] |
wiki:стандартные_права_unix [2020/10/07 17:54] [Команда chmod] |
||
---|---|---|---|
Строка 151: | Строка 151: | ||
Символьное назначение окажет неоценимую услугу, если требуется добавить права на объект к уже существующим правам. | Символьное назначение окажет неоценимую услугу, если требуется добавить права на объект к уже существующим правам. | ||
+ | |||
+ | === Массовое назначение прав === | ||
+ | |||
+ | Иногда, бывает, нужно массово установить права на определенный тип объектов, например, только на каталоги или только на файлы. Простое использование опции **-R** (рекурсия) здесь не поможет т.к. chmod будет проходить по всем объектам удовлетворяющим маске, что иногда вовсе не то, что нужно. | ||
+ | |||
+ | Итак, чтобы массово установить права на определенный тип объектов можно использовать один из вариантов (вообще, их очень много): | ||
+ | |||
+ | * **chmod -R 770 $(find . -type d)** | ||
+ | |||
+ | где **-type d** - каталоги, **-type f** - файлы. В данном примере chmod установит, начиная от текущего каталога((О чем сообщает точка после **find**.)), права на все каталоги (включая подкаталоги) разрешения 770 (rwx rwx- - -) при этом не трогая права на другие объекты. | ||
+ | |||
+ | Более длинный вариант аналогичной операции: | ||
+ | |||
+ | * **find ./ -type f -exec sudo chmod 775 {} \;** | ||
+ | |||
+ | где **-type d** - каталоги, **-type f** - файлы. В данном варианте chmod установит разрешения 775 на все файлы включая файлы в подкаталогах от текущего. | ||
+ | |||
+ | |||
===== Биты SUID, SGID и Sticky ===== | ===== Биты SUID, SGID и Sticky ===== | ||