Bir dizine bir grup Okuma-Yazma erişimine izin verme


39

Her ikisi de A grubunun üyesi olan user1 ve user2 adlı iki kullanıcım var. user2, kendi dizininde folderA adlı bir klasöre sahiptir. A grubunun tüm üyeleri için okuma-yazma-yürütme izinlerine izin vermek isterlerse, bunu nasıl yaparlar?

Ya FolderA, okuma-yazma-çalıştırma iznine sahip olması gereken birçok dosya ve ek klasörler içeriyorsa?

Gruplarla ilgili bilgiler web’de biraz 'sivilcelidir', bu yüzden burada birisinin başkalarına da yardımcı olabilecek açık bir yanıt göndereceği umuduyla sorumu buraya koyuyorum.

Teşekkürler!

Yanıtlar:


55

FolderA'nın önce groupA'nın bir parçası olması gerekecektir - klasörün sahibi veya kökü bu işlemi yapabilir

chgrp groupA ./folderA

Sonra groupA klasörün rwx izinlerine ihtiyaç duyacaktır.

chmod g+rwx ./folderA

Gerekirse, dizine yineleme yapmak için chgrp ve chmod komutlarında seçenekler vardır.


not: ara dizinlere de erişebildiğinizden emin olmalısınız (+ x yeterli olabilir).
jfs

2

Burada bu alanda kendi deneyimim. Orijinal nasıl yapılır . Ubuntu 18.04'te test edilmiştir.

Sistem klasörüne yazma izni ver

/etc/nginx/Klasöre yazma izni verin .

# 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/Klasöre yazma izni verin .

# 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.