Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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}} |