Access Control List - списки контроля доступа Сравнение версий

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:access_control_list [2011/08/18 14:22]
[Утилиты ACL]
wiki:access_control_list [2016/03/30 12:06]
[Операции над объектами c ACL]
Строка 1: Строка 1:
 ====== Access Control List - списки контроля доступа ====== ====== Access Control List - списки контроля доступа ======
 ^  Поддерживаемые версии Ubuntu ​ ^ ^  Поддерживаемые версии Ubuntu ​ ^
-|  Все с ядром 2.4.21 (?) и выше, а также другие ​OS |+|  Все с ядром 2.4.21 (?) и выше, а также другие ​ОС |
  
 ===== Вступление ===== ===== Вступление =====
Строка 21: Строка 21:
  
 Чтобы добавить пользователя в ту, или иную группу,​ достаточно отредактировать файл **/​etc/​group**:​ Чтобы добавить пользователя в ту, или иную группу,​ достаточно отредактировать файл **/​etc/​group**:​
 +
 +<note warning>​Хоть редактирование системных файлов вручную - самый быстрый способ их изменения,​ необходимо быть очень внимательным редактируя их. Используйте для редактирования файла ​ **/​etc/​group** утилиту **usermod**,​ обязательно создавайте резервную копию редактируемого файла для возможности отката.
 +
 +Примечание прислал [[likhoman@ngs.ru|Лихоманенко Артем]] //​2013/​04/​23 15:​55//</​note>​
  
 <​code>​ <​code>​
Строка 37: Строка 41:
  
 Итак, основная мысль статьи - это использование расширенных прав ACL.((Часть информации взята с [[http://​www.bsdportal.ru/​viewtopic.php?​t=3115&​view=next|этого]] перевода. Также очень хорошо описан синтаксис ACL [[http://​www.rhd.ru/​docs/​manuals/​enterprise/​RHEL-4-Manual/​sysadmin-guide/​s1-acls-setting.html|здесь]]. Надеюсь,​ авторы не против,​ если часть текста я позаимствую из этих статей.)) Итак, основная мысль статьи - это использование расширенных прав ACL.((Часть информации взята с [[http://​www.bsdportal.ru/​viewtopic.php?​t=3115&​view=next|этого]] перевода. Также очень хорошо описан синтаксис ACL [[http://​www.rhd.ru/​docs/​manuals/​enterprise/​RHEL-4-Manual/​sysadmin-guide/​s1-acls-setting.html|здесь]]. Надеюсь,​ авторы не против,​ если часть текста я позаимствую из этих статей.))
- 
 ===== Включение ACL в системе ===== ===== Включение ACL в системе =====
  
Строка 205: Строка 208:
  
 ^  Синтаксис ​ ^  Описание ​ ^  Пример использования ​ ^ ^  Синтаксис ​ ^  Описание ​ ^  Пример использования ​ ^
-|  <​code>​u:<​uid>:<​perms>​*</​code> ​  |- Назначает ACL для доступа заданному пользователю. Здесь можно указать имя или UID пользователя. Это может быть любой пользователь,​ допустимый в данной системе.|Пример:​ <​code>​setfacl -m u:​allexserv:​rw myfile.odt</​code>​| +|  <​code>​u:<​uid>:<​perms>​*</​code> ​  |- Назначает ACL для доступа заданному пользователю. Здесь можно указать имя или UID пользователя. Это может быть любой пользователь,​ допустимый в данной системе.|Пример:​ <​code>​setfacl -m u:​allexserv:​rw myfile.odt</​code> ​- назначает пользователю **allexserv** права на чтение и запись.
-|  <​code>​g:<​gid>:<​perms>​*</​code> ​ |- Назначает ACL для доступа заданной группе. Здесь можно указать имя или GID группы. Это может быть любая группа,​ допустимая в данной системе.|Пример:​ <​code>​setfacl -m g:​children:​r myfile.odt</​code>​| +|  <​code>​g:<​gid>:<​perms>​*</​code> ​ |- Назначает ACL для доступа заданной группе. Здесь можно указать имя или GID группы. Это может быть любая группа,​ допустимая в данной системе.|Пример:​ <​code>​setfacl -m g:​children:​r myfile.odt</​code> ​- назначает группе **children** права на чтение.
-|  <​code>​m:<​perms>​*</​code> ​ |- Назначает маску эффективных прав.((**Маска** — это объединение всех разрешений группы-владельца и всех записей пользователей и групп. Маска задает максимальные права доступа для всех пользователей,​ за исключением хозяина и групп. Установка маски представляет собой самый быстрый путь изменить фактические (эффективные) права доступа всех пользователей и групп. Например,​ маска (r - -) показывает,​ что пользователи и группы не могут иметь больших прав, чем просто чтение,​ даже если им назначены права доступа на чтение и запись. Например,​ если на файл **koshka** назначили ACL пользователю **allexserv** c правами (r w x), а эффективную маску выставили в (r x), то пользователь лишается права (w), не смотря на то, что по ACL он имеет это право.))|Пример: ​ <​code>​setfacl -m m:rx myfile.odt</​code>​|+|  <​code>​m:<​perms>​*</​code> ​ |- Назначает маску эффективных прав.((**Маска** — это объединение всех разрешений группы-владельца и всех записей пользователей и групп. Маска задает максимальные права доступа для всех пользователей,​ за исключением хозяина и групп. Установка маски представляет собой самый быстрый путь изменить фактические (эффективные) права доступа всех пользователей и групп. Например,​ маска (r - -) показывает,​ что пользователи и группы не могут иметь больших прав, чем просто чтение,​ даже если им назначены права доступа на чтение и запись. Например,​ если на файл **koshka** назначили ACL пользователю **allexserv** c правами (r w x), а эффективную маску выставили в (r x), то пользователь лишается права (w), не смотря на то, что по ACL он имеет это право.))|Пример: ​ <​code>​setfacl -m m:rx myfile.odt</​code> ​- устанавливает фактические максимальные права на чтение и выполнение.|
 |  <​code>​o:<​perms>​*</​code> ​ |- Назначает ACL для доступа пользователям,​ не включённым в группу файла. Это пользователь "​все остальные",​ как в стандартных правах Unix.|Пример:​ <​code>​setfacl -m o: myfile.odt</​code>​ - убирает все права (отсутствие прав).| |  <​code>​o:<​perms>​*</​code> ​ |- Назначает ACL для доступа пользователям,​ не включённым в группу файла. Это пользователь "​все остальные",​ как в стандартных правах Unix.|Пример:​ <​code>​setfacl -m o: myfile.odt</​code>​ - убирает все права (отсутствие прав).|
  
Строка 260: Строка 263:
 </​code>​ </​code>​
  
-Теоретически, как гласит документация, в данном случае пользователь **child** не может удалить файл (про **allexserv** ничего не говорю,​ т.к. он входит в группу **root** у меня). Но проведя тест, пользователь **child** все-таки удалил файл, правда перед удалением система спросила:​+Теоретически,​ в данном случае пользователь **child** не может удалить файл (про **allexserv** ничего не говорю,​ т.к. он входит в группу **root** у меня). Но проведя тест, пользователь **child** все-таки удалил файл, правда перед удалением система спросила:​
  
 <​code>​ <​code>​
Строка 267: Строка 270:
 </​code>​ </​code>​
  
-В то же время попробовал отредактировать файл **qwert** под пользователем **child** и попытался записать изменения. ​Здесь система в записи отказала. ​Вобщем очень странный момент. ​+В то же время попробовал отредактировать файл **qwert** под пользователем **child** и попытался записать изменения. ​Система в записи отказала. ​Здесь стоит отметить, ​что удаление файла регламентируется правами на каталог в коем ​расположен этот файл. Причина такого поведения именно в этом.
  
 Теперь давайте удалим с файла **qwert** права ACL для пользователя **allexserv**:​ Теперь давайте удалим с файла **qwert** права ACL для пользователя **allexserv**:​
Строка 474: Строка 477:
 Вот собственно и все, что я хотел рассказать про ACL. Применяйте логику и смекалку и все будет хорошо. Вот собственно и все, что я хотел рассказать про ACL. Применяйте логику и смекалку и все будет хорошо.
  
-<style right> --- //​[[allexmail@pisem.net|Соловьев Алексей aka allexnew]] ​24.01.2010 17:27// </​style>​+<style right> --- //​[[allexmail@yandex.ru|Соловьев Алексей aka allexnew]] ​upd 23.04.2013 16:05// </​style>​
  
  
 {{tag>​Администрирование система Права_доступа HOWTO}} {{tag>​Администрирование система Права_доступа HOWTO}}