Доступ многочисленных пользователей к каталогу

[

] Вот еще один способ:[

] [
$ stat filename && file "$_"
] [

] Пример:[

] [
$ stat /usr/bin/yum && file "$_"
  File: ‘/usr/bin/yum’
  Size: 801         Blocks: 8          IO Block: 4096   regular file
Device: 804h/2052d  Inode: 1189124     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:rpm_exec_t:s0
Access: 2014-06-11 22:55:53.783586098 +0700
Modify: 2014-05-22 16:49:35.000000000 +0700
Change: 2014-06-11 19:15:30.047017844 +0700
 Birth: -
/usr/bin/yum: Python script, ASCII text executable
] [

] Это работает в [] bash[] и []zsh[]. Это также работает в []mksh[] и []dash[], но только в интерактивном режиме. В AT&T ksh это работает только тогда, когда файл [] "$_"[] находится на другой строке, чем [] stat[].[

].
1
04.01.2015, 22:24
1 ответ

Для этого можно использовать Списки управления доступом (ACL), предоставляя дополнительные разрешения конкретному пользователю для определенного файла или каталога.

Прежде всего, убедитесь, что в рассматриваемой файловой системе включена опция acl : обычно она будет по умолчанию, но вы можете добавить ее к параметрам в fstab (и / или перемонтировать).

При включенных списках управления доступом вы управляете списком управления доступом к определенному файлу или каталогу с помощью команды setfacl :

setfacl -m "user:vonflynee:rwx" /home/foo/www

, которая устанавливает разрешение для каждого пользователя для пользователя vonflynee из rwx (в формате chmod ) для этого конкретного каталога, в дополнение к разрешениям, которые уже есть у владельца файла.У вас может быть несколько спецификаций ACL для конкретного файла для разных пользователей и групп, с которыми вам нужно иметь дело, и они могут иметь любую комбинацию различных разрешений.

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

В вики Arch есть умеренно исчерпывающая статья на эту тему с выделенными частями процесса, относящимися к Arch .


Другой вариант, более традиционный, - просто создать новую группу « vonflyneeandfoo », добавить в нее обоих пользователей, chown -R каталог в эту группу, chmod g + s каталог, чтобы новые файлы унаследовали его группу, а затем chmod -R g + rX dir , чтобы дать группе файлов разрешение на запись.

Если есть только этот единственный случай, с которым вам нужно разобраться, это, вероятно, будет более простым вариантом. Даже если это так, если у вас много локальных пользователей, и вы полагаетесь на то, что apache уже является членом группы, тогда сделать работу с разрешениями на чтение сложнее, а списки управления доступом будут для вас более удобными.

2
27.01.2020, 23:37

Теги

Похожие вопросы