Предоставление группе доступа на чтение и запись к каталогу


40

У меня есть два пользователя, user1 и user2, которые оба являются членами группы A. У user2 есть папка в их домашнем каталоге с именем folderA. Если они хотят предоставить разрешения на чтение-запись-выполнение для всех членов группы A, как они это сделают?

Что если папка A содержит много файлов и дополнительных папок, которые также должны иметь разрешение на чтение-запись-выполнение?

Информация о группах немного «разрознена» в Интернете, поэтому я задаю свой вопрос здесь в надежде, что кто-то отправит четкий ответ, который может помочь и другим.

Благодарность!

Ответы:


56

Папка A сначала должна быть частью группы A - владелец папки или корень могут выполнить эту операцию

chgrp groupA ./folderA

Тогда группе А понадобятся права доступа к папке rwx

chmod g+rwx ./folderA

В командах chgrp и chmod есть опции для возврата в каталог при необходимости.


примечание: вы должны убедиться, что вы также можете получить доступ к промежуточным каталогам (+ x может быть достаточно).
JFS

Первоначально я попытался, chown :groupname ./folderи это не сработало - так как в нем изменили группу, но не дали никаких эффективных разрешений
user230910

3

Мой собственный опыт в этой области здесь. Оригинальные инструкции . Проверено на Ubuntu 18.04.

Разрешить запись в системную папку

Дайте разрешение на запись в /etc/nginx/папку.

# Check 'webmasters' group doen't exist
cat /etc/group | grep webmasters
# Create 'webmasters' group
sudo addgroup webmasters
# Add users to 'webmasters' group
sudo usermod -a -G webmasters username
sudo usermod -a -G webmasters vozman
sudo usermod -a -G webmasters romanroskach

# Group assignment changes won't take effect
# until the users log out and back in.

# Create directory
sudo mkdir /etc/nginx/
# Check directory permissions
ls -al /etc | grep nginx
drwxr-xr-x   2 root root     4096 Dec  5 18:30 nginx

# Change group owner of the directory
sudo chgrp -R webmasters /etc/nginx/
# Check that the group owner is changed
ls -al /etc | grep nginx
drwxr-xr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Give write permission to the group
sudo chmod -R g+w /etc/nginx/
# Check
ls -al /etc | grep nginx
drwxrwxr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Try to create file
sudo -u username touch /etc/nginx/test.txt  # should work
sudo -u username touch /etc/test.txt  # Permission denied

Дайте разрешение на запись в /etc/systemd/system/папку.

# List ACLs
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

# Add 'webmasters' group to an ACL
sudo setfacl -m g:webmasters:rwx /etc/systemd/system

# Check
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
group:webmasters:rwx
mask::rwx
other::r-x

sudo -u username touch /etc/systemd/system/test.txt  # should work
sudo -u username touch /etc/systemd/test.txt  # Permission denied
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.