Mengizinkan grup Akses Baca-Tulis ke direktori

40

Saya memiliki dua pengguna, user1 dan user2, yang keduanya anggota groupA. user2 memiliki folder di direktori home mereka yang disebut folderA. Jika mereka ingin mengizinkan izin baca-tulis-jalankan untuk semua anggota groupA, bagaimana mereka melakukan ini?

Bagaimana jika folderA berisi banyak file dan folder tambahan yang juga perlu memiliki izin baca-tulis-eksekusi?

Informasi mengenai grup sedikit 'berbintik' di seluruh web, jadi saya mengajukan pertanyaan saya di sini dengan harapan seseorang memposting jawaban yang jelas yang mungkin dapat membantu orang lain juga.

Terima kasih!

WxPilot
sumber

Jawaban:

56

FolderA pertama harus menjadi bagian dari groupA - pemilik folder atau root dapat melakukan operasi ini

chgrp groupA ./folderA

Maka groupA akan membutuhkan izin rwx folder

chmod g+rwx ./folderA

Ada opsi dalam perintah chgrp dan chmod untuk muncul kembali ke direktori jika diperlukan.

Charles Green
sumber
Catatan: Anda harus memastikan bahwa Anda dapat mengakses direktori perantara juga (+ x mungkin cukup).
jfs
Saya awalnya mencoba chown :groupname ./folderdan itu tidak berhasil - seperti di dalamnya mengubah grup, tetapi tidak memberikan izin yang efektif
user230910
3

Pengalaman saya sendiri di bidang ini di sini. Cara asli . Diuji pada Ubuntu 18.04.

Izinkan untuk menulis di folder sistem

Berikan izin menulis ke /etc/nginx/folder.

# 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

Berikan izin menulis ke /etc/systemd/system/folder.

# 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
sumber