Как дать разным группам разные права доступа к определенной папке? [дубликат]

На этот вопрос уже есть ответ здесь:

У меня есть две группы «Группа1» и «Группа2»

У меня также есть папка «Папка»

, которую я хочу предоставить Группе1 права на чтение и запись, а Группа2 только чтение.

Есть предложения?

4
задан 16 February 2014 в 08:33

2 ответа

Позвольте мне получить это прямо:

  1. Вы хотите, чтобы group1 имел доступ на чтение / запись к определенной папке.

  2. Вы хотите, чтобы group2 имел доступ только для чтения к этой папке.

  3. Вы не хотите, чтобы others имел доступ для чтения к этой папке.

По умолчанию система разрешений Linux не допускает этого. Причина проста: для каждого inode есть только три бита (rwx), которые описывают разрешения для конкретной группы , а именно группы, которая владеет файлом / каталогом, на который ссылается этот inode. Любой пользователь, который не является владельцем и не принадлежит к этой группе, автоматически попадает под others. На практике это чаще всего достаточно, но в некоторых редких случаях это может быть не так.

Хорошая новость заключается в том, что Linux на самом деле поддерживает ACL (списки контроля доступа), которые обеспечивают гораздо более детальный контроль доступа. Чтобы включить ACL, вы должны добавить acl в опции монтирования. Например, если раздел, содержащий каталог, в котором вы хотите настроить расширенное управление доступом, монтируется следующим образом в /etc/fstab:

/dev/sda1  /      ext4    defaults                    0 1

... вы бы изменили это на:

/dev/sda1  /      ext4    acl,defaults                0 1

Затем вам нужно перемонтировать файловую систему (например, mount -o remount /dev/sda1) или просто перезагрузиться.

Далее давайте удостоверимся, что ваша папка /path/to/folder предоставляет доступ на чтение / запись для group1. Права доступа должны выглядеть примерно так:

drwxrwx---   2 owner group1      4096 Dec 14 02:42 folder

. Кроме того, вы хотите предоставить доступ на чтение для group2, и вообще никакого доступа для others . Для этого выполните команду

setfacl -m g:group2:rx /path/to/folder

Вот и все. Позже вы можете просмотреть разрешения ACL для этой папки, используя getfacl, а именно:

getfacl /path/to/folder

Дополнительная информация здесь: ACL: Расширенные права доступа к файлу .

0
ответ дан 16 February 2014 в 08:33

Эти команды должны работать:

sudo chown -R OWNER-USERNAME:GROUPNAME /PATH/TO/Folder
sudo chmod -R 664 /PATH/TO/Folder

Это, мы надеемся, обеспечит чтение и усиление. доступ на запись к владельцу и группе и доступ только для чтения к «Others», который должен включать Group2 .

chmod Страница руководства здесь .
chown Страница руководства здесь .

Чтобы сбросить любые изменения, чтобы доступ имел только владелец, выполните:

sudo chown -R OWNER-USERNAME:OWNER-USERNAME /PATH/TO/Folder
sudo chmod -R 600 /PATH/TO/Folder
0
ответ дан 16 February 2014 в 08:33

Другие вопросы по тегам:

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