Zezwolenie grupie na dostęp do odczytu i zapisu do katalogu

40

Mam dwóch użytkowników, user1 i user2, którzy są członkami grupy A. użytkownik2 ma folder w swoim katalogu domowym o nazwie folder A. Jeśli chcieliby zezwolić na uprawnienia do odczytu, zapisu i wykonania wszystkim członkom grupy A, jak by to zrobili?

Co jeśli folder A zawiera wiele plików i dodatkowe foldery, które również muszą mieć uprawnienia do odczytu-zapisu-wykonania?

Informacje o grupach są trochę „niejednoznaczne” w Internecie, dlatego zadaję tutaj moje pytanie, mając nadzieję, że ktoś opublikuje jasną odpowiedź, która może również pomóc innym.

Dzięki!

WxPilot
źródło

Odpowiedzi:

56

Folder A musi najpierw należeć do grupy A - właściciel folderu lub root może wykonać tę operację

chgrp groupA ./folderA

Następnie grupa A będzie potrzebować uprawnień rwx do folderu

chmod g+rwx ./folderA

W komendach chgrp i chmod dostępne są opcje, aby w razie potrzeby wrócić do katalogu.

Charles Green
źródło
Uwaga: powinieneś upewnić się, że możesz również uzyskać dostęp do katalogów pośrednich (+ x może wystarczyć).
jfs
Początkowo próbowałem chown :groupname ./folderi to nie działało - ponieważ zmieniło grupę, ale nie dało żadnych efektywnych uprawnień
użytkownik230910
2

Moje własne doświadczenia w tej dziedzinie tutaj. Oryginalny poradnik . Testowane na Ubuntu 18.04.

Pozwól pisać w folderze systemowym

Zezwól na zapis do /etc/nginx/folderu.

# 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

Zezwól na zapis do /etc/systemd/system/folderu.

# 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
FooBar167
źródło