Инструменты пользователя

Инструменты сайта


qa:nix:acl

Различия

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

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

qa:nix:acl [2022/05/10 03:12] – создано lxaqa:nix:acl [2022/05/10 03:18] (текущий) lxa
Строка 1: Строка 1:
-====== setfaclНазначение, модификация и удаление ACL прав ======+====== ACLВведение ======
  
-----+**Access Control List** предоставляет расширенный и более гибкий механизм распределения прав файловых систем. Он предназначен для расширения прав доступа к файлам UNIX. ACL позволяет устанавливать разрешения любым пользователям или группам для различных файловых ресурсов. 
  
-===== Man =====+<WRAP center round info 100%> 
 +Несколько слов о взаимодействии других команд (такие как копирование, перемещение, архивирование и т.п.) с правами ACL. Вот выдержка из статьи:
  
-==== Использование ====+К сожалению, большинство Unix-утилит все еще не поддерживает ACL. Например, tar не архивирует и не восстанавливает ACL, в FreeBSD NFS также игнорирует их. Ни формат файлов в утилите tar, ни протокол NFS нет ни намека на возможность использования ACL. Тем не менее, архивы полного раздела UFS1, сделанные с помощью tar или dump, восстанавливают каталог .attribute, и утилита dump в FreeBSD модифицирована для «понимания» UFS2 (включающую ACL). Каталог-скелет archivers/star поддерживает ACL. Вы даже можете работать с архивами, созданными в Linux и FreeBSD С помощью star и предохраняющей расширенные атрибуты (включающие и ACL).
  
-<code> +Но не все так грустно! Перевод статьи был написан в 2006 году (к сожалению до оригинала я так и не добрался)В другой же статье, более поздней, сказано:
-setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ... +
-</code>+
  
-==== Параметры ====+Ядро Red Hat Enterprise Linux 4 обеспечивает поддержку ACL для файловой системы ext3 и экспортируемых файловых систем NFS. Списки ACL также работают в файловых системах ext3, доступных через Samba. … Команды cp и mv копируют и перемещают все списки ACL, связанные с файлами и каталогами.
  
-^ Опции ^ Значение ^  +Хоть большинство стандартных командпризванных производить операции над файлами, уже поддерживают ACL тонапример, команды архивирования tar и dump ACL не архивируют. Для архивации данных с установленными ACL используется программа star. В кратце ее рассмотрим позже. Замечу, что для NFS ACL поддерживаются уже по умолчанию. Вообще, успешное использование ACL зависит от поддержки ACL файловой системой и поддержки ACL операционной системой на клиентской машине. 
-| **%%-m, --modify=acl%%** | Добавить и модифицировать существующие записи ACL | +</WRAP>
-| **%%-M, --modify-file=file%%** | Добавить и модифицировать существующие записи ACL взятые из указанного файла | +
-| **%%-x, --remove=acl%%** | Удалить указанные ACL права взятые из указанного файла | +
-| **%%-X--remove-file=file%%** | Удалить указанные ACL права | +
-| **%%-b, --remove-all%%** | Удалить все ACL права с объекта, сохраняя основные права | +
-| **%%-k, --remove-default%%** | Удалить с объекта ACL по умолчанию. Если таковых на объекте нет, предупреждение об этом выдаваться не будет | +
-| **%%--set=acl%%** | Установить новые указанные права ACL, удаляя все существующие. Необходимо, чтобы наравне с задаваемыми правилами ACL были также указаны стандартные права Unix, в противном случае будет давать ошибку | +
-| **%%--set-file=file%%** | Установить новые указанные права ACL, взятые из указанного файла, удаляя все существующие. Необходимо, чтобы наравне с задаваемыми правилами ACL были также указаны стандартные права Unix, в противном случае будет давать ошибку | +
-| **%%--mask%%** | do recalculate the effective rights mask | +
-| **%%-n, --no-mask%%** | don't recalculate the effective rights mask | +
-| **%%-d, --default%%** | Установить ACL по умолчанию на объект | +
-| **%%-R--recursive%%** | Рекурсивное назначение (удаление) прав, тобишь пройтись по всем подкаталогам | +
-| **%%-L, --logical%%** | logical walk, follow symbolic links | +
-| **%%-P, --physical%%** | physical walk, do not follow symbolic links | +
-| **%%--restore=file%%** | Восстанавить ACL права на объекты из ранее созданного файла с правами +
-| **%%--test%%** | test mode (ACLs are not modified) | +
-| **%%-v, --version%%** | Вывод версии | +
-| **%%-h, --help%%** | Вывод справки |+
  
-----+Чтобы посмотреть, установлены ли ACL на объектах, достаточно воспользоваться командой ls -l:
  
-===== Формирование списка правил =====+<WRAP center round info 100%> 
 +Символ "+" в конце списка стандартных прав сообщает о наличии установленных прав ACL 
 +</WRAP>
  
-^  Синтаксис  ^  Описание  ^  Пример  ^ 
-| <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> - назначает группе children права на чтение. | 
-| <code>m:<perms>*</code> | Назначает маску эффективных прав. |<code>setfacl -m m:rx myfile.odt</code> - устанавливает фактические максимальные права на чтение и выполнение.| 
-| <code>o:<perms>*</code> | Назначает ACL для доступа пользователям, не включённым в группу файла. Это пользователь «все остальные», как в стандартных правах Unix. | <code>setfacl -m o: myfile.odt</code> - убирает все права (отсутствие прав). | 
  
 +<code>
 +root@sytserver:/media/Work/test# ls -l
 +итого 28
 +drwxrwxrwt  2 root root 4096 2009-07-24 21:20 allex
 +-rwxr-x---+ 1 root root   19 2009-07-25 14:45 qwert
 +</code>
  
 ---- ----
  
 +===== Источник ===== 
 +[[http://help.ubuntu.ru/wiki/access_control_list|help.ubuntu.ru]] 
 + 
qa/nix/acl.1652141549.txt.gz · Последнее изменение: 2022/05/10 03:12 — lxa