Права доступа Unix, SUID, SGID, Sticky биты Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:стандартные_права_unix [2014/12/13 20:03]
[Права доступа]
wiki:стандартные_права_unix [2020/10/07 17:56]
[Расширенные права]
Строка 84: Строка 84:
 Восьмеричное обозначение в этом примере:​ **0755**. Восьмеричное обозначение в этом примере:​ **0755**.
  
-<note important>​Для полноценного просмотра каталога,​ необходимы права на чтение каталога и доступ к файлам,​ а главное к их атрибутам,​ т.е. минимальные разумные права на каталог - 5 (r-x). Прав 4 (r--) хватит только на просмотр имен файлов,​ без атрибутов,​ т.е. не будет известен ни размер файла, ​ни его тип (что даже не позволит отличить ​директории от файлов).+<note important>​Для полноценного просмотра каталога,​ необходимы права на чтение каталога и доступ к файлам,​ а главное к их атрибутам,​ т.е. минимальные разумные права на каталог - 5 (r-x). Прав 4 (r--) хватит только на просмотр имен файлов,​ без атрибутов,​ т.е. не будут известны размер файла, ​права доступавладелец.
  
 На практике для каталогов используется только три режима:​ 7 (rwx), 5 (r-x) и 0 (---).</​note>​ На практике для каталогов используется только три режима:​ 7 (rwx), 5 (r-x) и 0 (---).</​note>​
Строка 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 =====
  
Строка 168: Строка 186:
 </​code>​ </​code>​
  
-**1000** - идентификатор (GID) дополнительной группы allexserv пользователя **allexserv**((Обратите внимание,​ в этом примере основная группа пользователя **allexserv** - это группа **root** (идентификатор 0), а группа **allexserv** (1000) - считалась бы дополнительной. В данном примере ​пользователь **allexserv** не входит ​больше в группу **allexserv** (видимо я, при создании себя вручную изменил принадлежность к группам), так что группа ​**allexserv** на данный момент пуста.))+**1000** - идентификатор (GID) дополнительной группы allexserv пользователя **allexserv**((Обратите внимание,​ в этом примере основная группа пользователя **allexserv** - это группа **root** (идентификатор 0) - при создании этого пользователя ему была явно указана принадлежность к группе **root**.))
  
-Зачастую, ​при создании пользователя, если не указано иноеидентификатор группы пользователя равен идентификатору ​пользователя. Например:​+Если при создании пользователя ​основная группа ​не указана явно, то основной ​группой пользователя ​будет группа с тем же именем, что и имя пользователя. Например:​
  
 <​code>​ <​code>​
Строка 309: Строка 327:
  
 В больших сетях, ​ с многоуровневыми схемами доступа применяется более гибкая реализация назначения прав, именуемая как **ACL** - [[access_control_list|Списки контроля доступа]]. ​   В больших сетях, ​ с многоуровневыми схемами доступа применяется более гибкая реализация назначения прав, именуемая как **ACL** - [[access_control_list|Списки контроля доступа]]. ​  
 +
 +<style right> --- //​[[allexmail@yandex.ru|Соловьев Алексей aka allexnew]] upd 07.10.2020 17:56// </​style>​
  
 {{tag>​Администрирование система Права_доступа }} {{tag>​Администрирование система Права_доступа }}