Глубокое погружение в linux namespaces

体验3 - 目录的默认ACL

如果我们希望在一个目录中新建的文件和目录都使用同一个预定的ACL,那么我们可以使用默认(Default) ACL。在对一个目录设置了默认的ACL以后,每个在目录中创建的文件都会自动继承目录的默认ACL作为自己的ACL。用setfacl的-d选项就可以做到这一点:

# setfacl -d --set g:testg1:rwx dir1
# getfacl dir1
# file: dir1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:testg1:rwx
default:mask::rwx
default:other::r-x

可以看到默认ACL已经被设置了。建立一个文件试试:

# touch dir1/file1
# getfacl dir1/file1
# file: dir1/file1
# owner: root
# group: root
user::rw-
group::r-x                      #effective:r--
group:testg1:rwx                #effective:rw-
mask::rw-
other::r--

file1自动继承了dir1对testg1设置的ACL。只是由于mask的存在使得testg1只能获得rw-权限。

OPTIONS top

       -a, --access
           Display the file access control list.

       -d, --default
           Display the default access control list.

       -c, --omit-header
           Do not display the comment header (the first three lines of each
           file's output).

       -e, --all-effective
           Print all effective rights comments, even if identical to the
           rights defined by the ACL entry.

       -E, --no-effective
           Do not print effective rights comments.

       -s, --skip-base
           Skip files that only have the base ACL entries (owner, group,
           others).

       -R, --recursive
           List the ACLs of all files and directories recursively.

       -L, --logical
           Logical walk, follow symbolic links to directories. The default
           behavior is to follow symbolic link arguments, and skip symbolic
           links encountered in subdirectories.  Only effective in
           combination with -R.

       -P, --physical
           Physical walk, do not follow symbolic links to directories. This
           also skips symbolic link arguments.  Only effective in
           combination with -R.

       -t, --tabular
           Use an alternative tabular output format. The ACL and the default
           ACL are displayed side by side. Permissions that are ineffective
           due to the ACL mask entry are displayed capitalized. The entry
           tag names for the ACL_USER_OBJ and ACL_GROUP_OBJ entries are also
           displayed in capital letters, which helps in spotting those
           entries.

       -p, --absolute-names
           Do not strip leading slash characters (`/'). The default behavior
           is to strip leading slash characters.

       -n, --numeric
           List numeric user and group IDs

       -v, --version
           Print the version of getfacl and exit.

       -h, --help
           Print help explaining the command line options.

       --  End of command line options. All remaining parameters are
           interpreted as file names, even if they start with a dash
           character.

       -   If the file name parameter is a single dash character, getfacl
           reads a list of files from standard input.

COLOPHON top

       This page is part of the acl (manipulating access control lists)
       project.  Information about the project can be found at 
       ⟨http://savannah.nongnu.org/projects/acl⟩.  If you have a bug report
       for this manual page, see
       ⟨http://savannah.nongnu.org/bugs/?group=acl⟩.  This page was obtained
       from the project's upstream Git repository
       ⟨git://git.savannah.nongnu.org/acl.git⟩ on 2020-08-13.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-02-06.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to man-pages@man7.org

May 2000                     ACL File Utilities                   SETFACL(1)

Pages that refer to this page:
chacl(1), 
getfacl(1), 
nfs4_editfacl(1), 
nfs4_setfacl(1), 
tmpfiles.d(5), 
systemd-journald(8), 
systemd-journald-audit.socket(8), 
systemd-journald-dev-log.socket(8), 
systemd-journald.service(8), 
systemd-journald@.service(8), 
systemd-journald.socket(8), 
systemd-journald@.socket(8), 
systemd-journald-varlink.socket(8), 
systemd-journald-varlink@.socket(8)

体验1 - ACL的基本操作:添加和修改

我首先新建一个文件作为实施ACL的对象:

#  touch file1
#  ls -l file1
-rw-r--r-- 1 root root     7 Dec 11 00:28 file1

然后看一下这个文件缺省的ACL,这时这个文件除了通常的UGO的权限之外,并没有ACL:

#  getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r--
other::r-

*注意:即使是不支持ACL的情况下,getfacl仍然能返回一个这样的结果。不过setfacl是不能工作的。

下面添加几个用户和组,一会我将使用ACL赋予他们不同的权限:

#  groupadd testg1
#  useradd testu1
#  useradd testu2
#  usermod -G testg1 testu1

现在我们看看testu1能做什么:

# su testu1
$ echo "testu1" >> file1
bash: file1: Permission denied

失败了。因为file1并不允许除了root以外的用户写。我们现在就通过修改file1的ACL赋予testu1足够的权限:

# setfacl -m u:testu1:rw file1
# su testu1
$ echo "testu1" >> file1
$ cat file1
testu1

修改成功了,用户testu1可以对file1做读写操作了。我们来看一下file1的ACL:

$ getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rw-
group::r--
mask::rw-
other::r-

我们ls看一下:

# ls -l file1
-rw-rw-r--+ 1 root root     7 Dec 11 00:28 file1

可以看到那个»+»了么?就在通常我们看到的权限位的旁边。这个说明file1设置了ACL, 接下来我们修改一下testu1的权限,同时给testg1这个组以读的权限:

# setfacl -m u:testu1:rwx,g:testg1:r file1
# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx
group::r--
group:testg1:r--
mask::rwx
other::r-

可以看到设置后的权限,testu1已经有了执行的权限,而testg1这个组也获得了读取文件内容的权限。也许有人已经注意到了两个问题:首先,file1的组权限从r—变成了rw-。其次,mask是什么?为什么也变化了呢?我们先从mask说起。如果说acl的优先级高于UGO,那么mask就是一个名副其实的最后一道防线。它决定了一个用户/组能够得到的最大的权限。这样我们在不破坏已有ACL的定义的基础上,可以临时提高或是降低安全级别:

# setfacl -m mask::r file1
# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx                 #effective:r--
group::r--
group:testg1:r--
mask::r--
other::r--

# ls -l file1
-rw-r--r--+ 1 root root 7 Dec 11 00:28 file1

在testu1对应的ACL项的后边出现了effective的字样,这是实际testu1得到的权限。Mask只对其他用户和组的权限有影响,对owner和other的权限是没有任何影响的。
执行ls的结果也显示UGO的设置也有了对应的变化。因为在使用了ACL的情况下,group的权限显示的就是当前的mask。通常我们把mask设置成rwx,以不阻止任何的单个ACL项。

*需要注意的是,每次修改或添加某个用户或组的ACL项的时候,mask都会随之修改以使最新的修改能够真正生效。所以如果需要一个比较严格的mask的话,可能需要每次都重新设置一下mask。

VALID ACLs top

     A valid ACL contains exactly one entry with each of the ACL_USER_OBJ,
     ACL_GROUP_OBJ, and ACL_OTHER tag types. Entries with ACL_USER and
     ACL_GROUP tag types may appear zero or more times in an ACL. An ACL
     that contains entries of ACL_USER or ACL_GROUP tag types must contain
     exactly one entry of the ACL_MASK tag type. If an ACL contains no
     entries of ACL_USER or ACL_GROUP tag types, the ACL_MASK entry is
     optional.

     All user ID qualifiers must be unique among all entries of ACL_USER tag
     type, and all group IDs must be unique among all entries of ACL_GROUP
     tag type.

       The acl_get_file() function returns an ACL with zero ACL entries as
     the default ACL of a directory, if the directory is not associated with
     a default ACL. The acl_set_file() function also accepts an ACL with
     zero ACL entries as a valid default ACL for directories, denoting that
     the directory shall not be associated with a default ACL. This is
     equivalent to using the acl_delete_def_file() function.

Enable ACL

To enable ACL, the filesystem must be mounted with the option. You can use fstab to make it permanent on your system.

There is a possibility that the option is already active as default mount option on the filesystem. Btrfs does and Ext2// filesystems do too. Use the following command to check ext* formatted partitions for the option:

# tune2fs -l /dev/sdXY | grep "Default mount options:"
Default mount options:    user_xattr acl

Also check that the default mount option is not overridden, in such case you will see in in the relevant line.

You can set the default mount options of a filesystem using the command, for example:

# tune2fs -o acl /dev/sdXY

Using the default mount options instead of an entry in is very useful for external drives, such partition will be mounted with option also on other Linux machines. There is no need to edit on every machine.

Note:

  • is specified as default mount option when creating an ext2/3/4 filesystem. This is configured in .
  • The default mount options are not listed in .

Configuración

Habilitando ACL

Para habilitar ACL los sistema de archivos se deben haber montado con la opción , puede usar fstab para hacer el montaje con acl permanente en su sistema.

Es posible que la opción estés activada por defecto como opción de montaje en el sistema de archivos; en Btrfs y ext* también. Use el siguiente comando para verificar las particiones formateadas con ext* con la opción:

# tune2fs -l /dev/sdXY | grep "Default mount options:"
Default mount options:    user_xattr acl

También puede verificar que el punto de montaje por defecto no está anulado, en tal caso vería en .

Puede configurar las opciones de montajes predeterminadas de un sistema de archivos utilizando el comando por ejemplo:

# tune2fs -o acl /dev/sdXY

Utilizar las opciones de montaje por defecto en lugar de las entradas en es muy útil para unidades externa, tales particiones serán montadas con la opción en otras máquinas GNU/Linux; sin necesidad de editar /etc/fstab en cada máquina.

Note:

  • se especifica por defecto cuando se crean sistemas de archivos ext2/3/4 y se configura en .
  • Por defecto las opciones de montaje no están en la lista de .

Establecer ACL

ACL puede ser modificado usando el comando ‘’’setfacl’’’

Para agregar permiso a un usuario ( es el nombre del usuario o el ID):

# setfacl -m "u:user:permissions" <file/dir>

Agregar permisos para un grupo ( es el nombre del grupo o el ID del grupo):

# setfacl -m "g:group:permissions" <file/dir>

Para permitir que todos los archivos o directorios hereden las entradas de ACL desde el directorio con:

# setfacl -dm "entry" <dir>

Para eliminar un entrada específica:

# setfacl -x "entry" <file/dir>

Para remover todas las entradas:

 # setfacl -b <file/dir>

Операции над объектами c ACL

В заключении хочу еще раз обратить внимание на операции с обектами у которых установлены ACL, такие как копирование, перемещение, архивирование. Выше мы уже упоминали о них

Некоторые замечания:

  • При перемещении (mv) никаких дополнительных параметров ненужно;
  • При копировании (cp), необходимо использовать ключ -p, в противном случае ACL права будут потеряны;

Внимание!!!
По умолчанию графический интерфейс при копировании не учитывает ACL права!

При архивировании или распаковке вместо tar используйте утилиту star.

Утилиту star нужно будет установить из репозиториев: apt-get install star

Вот некоторые часто используемые опции star:

Опция Описание
-c Создаёт файл архива
-n Отключает извлечение файлов, используется в сочетании с -x для просмотра списка извлекаемых файлов.
-r Заменяет файлы в архиве. Файлы записываются в конец архива, заменяя любые файлы с тем же путём и именем.
-t Выводит содержимое файла архива.
-u Обновляет файл архива. Файлы записываются в конец архива, если их ещё не было в архиве или если они новее, чем файлы с тем же именем в архиве.
-x Извлекает файлы из архива. Если используется с ключом -U и файл в архиве старее, чем соответствующий файл в файловой системе, такой файл не извлекается.
-help Выводит наиболее важные параметры.
-xhelp Выводит менее важные параметры.
-/ Оставляет ведущую косую черту в имени файла при извлечении файлов из архива. По умолчанию она убирается.
-acl При создании архива или извлечении файлов, архивирует или восстанавливает все ACL, связанные с файлами или каталогами.

Пример для архивирования утилитой star с сжатием:

star -czv -Hexustar -acl -f /tmp/homedir.tgz /media/Profil/home

Пример для разархивирования в текущий каталог:

star -xv -Hexustar -acl -f homedir.tgz

Вот собственно и все, что я хотел рассказать про ACL. Применяйте логику и смекалку и все будет хорошо.

— Соловьев Алексей aka allexnew upd 23.04.2013 16:05

Наличие дополнительных групп может также облегчить написание правил монтирования ресурсов при входе в систему, например, с использованием модуля pam_mount

Почитать можно .

Обратите внимание, что в других операционных системах Unix, например, FreeBSD 5.0 и выше, потребуются некоторые дополнительные действия по включению ACL. Также, возможно, вам потребуется установить пакет acl, использовав следующую команду: sudo apt-get install acl.

Полезно для отката разрешений

Разумеется, необходимо сначала сделать резервную копию разрешений в текстовый файл file. Сделать можно либо вручную, в формате вывода getfacl, либо использовать команду getfacl -R file > file_out. Где file это файл(ы) или каталоги с которых нужно снять ACL, а file_out — текстовый файл куда запишутся снятые ACL права.

Маска — это объединение всех разрешений группы-владельца и всех записей пользователей и групп. Маска задает максимальные права доступа для всех пользователей, за исключением хозяина и групп. Установка маски представляет собой самый быстрый путь изменить фактические (эффективные) права доступа всех пользователей и групп. Например, маска (r — -) показывает, что пользователи и группы не могут иметь больших прав, чем просто чтение, даже если им назначены права доступа на чтение и запись. Например, если на файл koshka назначили ACL пользователю allexserv c правами (r w x), а эффективную маску выставили в (r x), то пользователь лишается права (w), не смотря на то, что по ACL он имеет это право.

Этот параметр работает только если архив представляет собой файл или незаблокированную ленту, которую можно стирать.

EXAMPLES

ACL or Access Control List extends the basic file permissions of read, write and execute to more users and groups.

Consider two files ResumeSameer.txt and ResumeTara.txt. As of now both these have only basic permissions.

$ getfacl ResumeSameer.txt ResumeTara.txt
# file: ResumeSameer.txt
# owner: john
# group: humanresources
user::rw-
group::r--
other::r--

# file: ResumeTara.txt
# owner: john
# group: humanresources
user::rw-
group::r--
other::r--

We can add ACL to these files using setfacl. One of the files has been made accessible to user «joy» in read and write mode and to the group «engineering» in read mode.

$ setfacl -m u:joy:rw ResumeSameer.txt
$ setfacl -m g:engineering:r ResumeSameer.txt

Now the same command getfacl on the files gives below output

$ getfacl ResumeSameer.txt ResumeTara.txt
# file: test1.txt
# owner: john
# group: humanresources
user::rw-
user:joy:rw-
group::r--
group:engineering:r--
mask::rw-
other::r--

# file: test2.txt
# owner: john
# group: humanresources
user::rw-
group::r--
other::r--

Use of option —skip-base shows only those files where extended ACL has been defined.

$ getfacl --skip-base ResumeSameer.txt ResumeTara.txt
# file: test1.txt
# owner: john
# group: humanresources
user::rw-
user:joy:rw-
group::r--
group:engineering:r--
mask::rw-
other::r--

Use of option —omit-header removes first 3 lines of header for each file

$ getfacl --omit-header ResumeSameer.txt ResumeTara.txt
user::rw-
user:joy:rw-
group::r--
group:engineering:r--
mask::rw-
other::r--

user::rw-
group::r--
other::r--

Previous Page
Print Page

Next Page  

Примеры

Установить все разрешения на файл «abc» для пользователя johny:

# setfacl -m "u:johny:rwx" abc

Проверить разрешения:

# getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
user:johny:rwx
group::r--
mask::rwx
other::r--

Изменение разрешений для пользователя johny:

# setfacl -m "u:johny:r-x" abc

Проверка разрешений:

# getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
user:johny:r-x
group::r--
mask::r-x
other::r--

Удаление всех записей расширения ACL:

# setfacl -b abc

Проверка разрешений:

# getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
group::r--
other::r--

Вывод команды ls

Знак (плюс) в выводе команды который следует за правами Unix, указывает на использование ACL.

$ ls -l /dev/audio
crw-rw----+ 1 root audio 14, 4 nov.   9 12:49 /dev/audio
$ getfacl /dev/audio
getfacl: Removing leading '/' from absolute path names
# file: dev/audio
# owner: root
# group: audio
user::rw-
user:solstice:rw-
group::rw-
mask::rw-
other::---

Поиск файлов с правами ACL

getfacl -R -s -p <dir> | sed -n 's/^# file: //p'

данная команда ищет в указанном каталоге и его подкаталогах все файлы и директории которые имеют права ACL

Предоставление разрешений на выполнение личных файлов веб-сервером

Следующий метод описывает то, как процесс веб-сервера может получить доступ к файлам находящихся в домашней папке пользователя, без ущерба для безопасности.

Будем считать что веб-сервер работает от пользователя и предоставляет доступ к домашнему каталогу пользователя .

Для начала разрешим доступ к домашней папке пользователя  :

# setfacl -m "u:webserver:--x" /home/geoffrey

Примечание: Права доступа к каталогу дают возможность процессу читать содержимое данного каталога.

Поскольку теперь имеет доступ к файлам в то безопаснее будет удалить доступ пользователей:

# chmod o-rx /home/geoffrey

Проверим изменения с помощью :

$ getfacl /home/geoffrey
getfacl: Removing leading '/' from absolute path names
# file: home/geoffrey
# owner: geoffrey
# group: geoffrey
user::rwx
user:webserver:--x
group::r-x
mask::r-x
other::---

Как видно из вывода, больше не имеют никаких разрешений, но все еще может обращаться к файлам.

AUTOMATICALLY CREATED ENTRIES

Tag Description
* The three base entries cannot be removed. There must be exactly one
entry of each of these base entry types.
* Whenever an ACL contains named user entries or named group objects,
it must also contain an effective rights mask.
* Whenever an ACL contains any Default ACL entries, the three Default ACL
base entries (default owner, default group, and default others) must also exist.
* Whenever a Default ACL contains named user entries or named group objects,
it must also contain a default effective rights mask.
Tag Description
* If an ACL contains named user or named group entries, and
no mask entry exists, a mask entry containing the same permissions as
the group entry is created. Unless the
-n option is given, the permissions of the mask entry are further adjusted to include the union of all permissions affected by the mask entry. (See the
-n option description).
* If a Default ACL entry is created, and the Default ACL contains no
owner, owning group, or others entry, a copy of the ACL owner, owning group, or others entry is added to the Default ACL.
* If a Default ACL contains named user entries or named group entries, and no mask entry exists, a mask entry containing the same permissions as the default Default ACLs group entry is added. Unless the
-n option is given, the permissions of the mask entry are further adjusted to inclu
de the union of all permissions affected by the mask entry. (See the
-n option description).

EXAMPLES

Granting an additional user read access

setfacl -m u:lisa:r file

Revoking write access from all groups and all named users (using the effective rights mask)

setfacl -m m::rx file

Removing a named group entry from a files ACL

setfacl -x g:staff file

Copying the ACL of one file to another

getfacl file1 | setfacl —set-file=- file2

Copying the access ACL into the Default ACL

getfacl —access dir | setfacl -d -M- dir

a.gruenbacher@bestbits.at

Please send your bug reports, suggested features and comments to the
above address.

Options

Specific syntax varies. Run getfacl —help for a summary listing of the commands available on your specific distribution.

Use the following switches to modify the command’s behavior:

  • —accessDisplay the file access control list.
  • -d, —defaultDisplay the default access control list.
  • —omit-headerDo not display the comment header (the first three lines of each file’s output).
  • —all-effectivePrint all effective rights comments, even if identical to the rights defined by the ACL entry.
  • —no-effectiveDo not print effective rights comments.
  • —skip-baseSkip files that only have the base ACL entries (owner, group, others).
  • -R, —recursiveList the ACLs of all files and directories recursively.
  • -L, —logicalLogical walk, follow symbolic links. The default behavior is to follow symbolic link arguments and to skip symbolic links encountered in subdirectories.
  • -P, —physicalPhysical walk, skip all symbolic links. This also skips symbolic link arguments.
  • —tabularUse an alternative tabular output format. The ACL and the default ACL are displayed side by side. Permissions that are ineffective due to the ACL mask entry are displayed capitalized. The entry tag names for the ACL_USER_OBJ and ACL_GROUP_OBJ entries are also displayed in capital letters, which helps in spotting those entries.

—absolute-namesDo not strip leading slash characters (`/’). The default behavior is to strip leading slash characters.

—versionPrint the version of getfacl and exit.

—helpPrint help explaining the command line options.

—End of command line options. All remaining parameters are interpreted as file names, even if they start with a dash character.

-: If the filename parameter is a single dash character, getfacl reads a list of files from standard input.

Options

-b, —remove-all

Remove all extended ACL entries. The base ACL entries of the owner, group, and others are retained.

-k, —remove-default

Remove the Default ACL. If no Default ACL exists, no warnings are issued.

-n, —no-mask

Do not recalculate the effective rights mask. The default behavior of setfacl is to recalculate the ACL mask entry unless a mask entry was explicitly given. The mask entry is set to the union of all permissions of the owning group, and all named user and group entries. (These are exactly the entries affected by the mask entry).

—mask

Do recalculate the effective rights mask, even if an ACL mask entry was explicitly given. (See the -n option.)

-d, —default

All operations apply to the Default ACL. Regular ACL entries in the input set are promoted to Default ACL entries. Default ACL entries in the input set are discarded. (A warning is issued if that happens).

—restore=file

Restore a permission backup created by `getfacl -R’ or similar. All permissions of a complete directory subtree are restored using this mechanism. If the input contains owner comments or group comments, and setfacl is run by root, the owner and owning group of all files are restored as well. This option cannot be mixed with other options except `—test’.

—test

Test mode. Instead of changing the ACLs of any files, the resulting ACLs are listed.

-R, —recursive

Apply operations to all files and directories recursively. This option cannot be mixed with `—restore’.

-L, —logical

Logical walk, follow symbolic links. The default behavior is to follow symbolic link arguments and to skip symbolic links encountered in subdirectories. This option cannot be mixed with `—restore’.

-P, —physical

Physical walk, skip all symbolic links. This also skips symbolic link arguments. This option cannot be mixed with `—restore’.

—version

Print the version of setfacl and exit.

—help

Print help explaining the command line options.

End of command line options. All remaining parameters are interpreted as file names, even if they start with a dash.

If the file name parameter is a single dash, setfacl reads a list of files from standard input.

Вступление

Итак, пришло время задуматься о безопасности вашей сети. В частности о назначении прав на каталоги и файлы для пользователей и групп.
Стандартные права в операционных системах Unix не так гибки, как хотелось бы. К сожалению они годятся для использования в простых схемах сети. Например, ситуацию когда к одному и тому же каталогу нужно, чтобы несколько групп пользователей имели разные права доступа, не реализовать с использованием стандартных прав.

Для реализации сложных структур прав доступа используются расширенные права — ACL (Access control list — cписки контроля доступа).
Списки контроля доступом (ACL) дают большую гибкость, чем стандартный набор полномочий «пользователь/группа/остальные». ACL доступны в коммерческих Unix-системах, таких как IRIX или Solaris (и в Windows NT) в течение нескольких лет. В настоящее время, благодаря проекту TrustedBSD, ACL доступны в FreeBSD 5.0 и выше, а также в Linux. Возможность использования ACL позволяет администратору получить преимущество от использования более интеллектуальной модели безопасности.

Предполагается, что Вы уже знакомы со стандартными правами систем Unix. Если это не так, очень рекомендую сначала изучить документацию по ним. От того, насколько хорошо вы понимаете управление стандартными правами Unix, будет зависеть понимание материала этой статьи.

Устоявшиеся истины:

  • Каждый пользователь входит в минимум одну группу. Группа, присваиваемая пользователю при его создании, называется основной. Все остальные группы в которые будет включен пользователь, будут являться дополнительными.
  • Группа пользователей может содержать некоторое количество пользователей, но не может содержать или включаться в другие группы.
  • Группа может быть пустой, т.е. не содержать в себе ни одного пользователя.

Чтобы добавить пользователя в ту, или иную группу, достаточно отредактировать файл /etc/group:

Хоть редактирование системных файлов вручную — самый быстрый способ их изменения, необходимо быть очень внимательным редактируя их. Используйте для редактирования файла /etc/group утилиту usermod, обязательно создавайте резервную копию редактируемого файла для возможности отката.

Примечание прислал Лихоманенко Артем 2013/04/23 15:55

syslog:x:103:
klog:x:104:
scanner:x:105:hplip,allexserv
nvram:x:106:
fuse:x:107:allexserv

Видно, что в листинге выше в группу scanner входят пользователи hplip и allexserv. Чтобы добавить в эту группу еще пользователей, просто перечислите их символьные имена через запятую.

Синтаксис файла прост:

имя_группы:пароль:GID:список_пользователей

Итак, основная мысль статьи — это использование расширенных прав ACL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *