memberikan izin menulis ke grup ke folder

34

Bagaimana saya bisa memberikan izin menulis ke 1 grup?
Saya memiliki 2 pengguna ( alexdan ben).
alexadalah anggota kelompok alexdan anggota kelompok consult.
benadalah anggota kelompok bendan anggota kelompok consult.

Saya ingin memberikan akses baca tulis untuk keduanya alexdan benpada folder consult_documents.

Jika saya membuat alexpemilik direktori consult_documentsdan saya memberikan 775akses ke direktori consult_documents, bendan alexakan dapat mengakses folder, saya pikir.

Tetapi apakah ini akan memungkinkan benakses ke alexfolder lain juga? Jika pengguna berada dalam dua grup, apakah itu berarti semua anggota dari kedua grup mendapatkan izin yang sama di semua folder?

anatak
sumber
Apakah Anda ingin alex dan ben dapat membuat file di berkonsultasi_dokumen dan memungkinkan mereka membaca / menulis akses pada dokumen-dokumen itu?
X Tian

Jawaban:

42

Memberikan 775 izin pada direktori tidak secara otomatis berarti bahwa semua pengguna dalam grup tertentu akan mendapatkan rwxakses ke sana. Mereka harus menjadi pemilik direktori atau menjadi milik grup direktori:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

Jadi, untuk memungkinkan alex dan ben memiliki akses tulis some_dir, some_dirdirektori itu sendiri harus menjadi milik consultgrup. Jika bukan itu masalahnya, pemilik direktori (alex dalam contoh Anda), harus mengeluarkan perintah berikut:

$ chgrp consult some_dir/

atau untuk mengubah kepemilikan grup atas segala sesuatu di dalam direktori:

$ chgrp -R consult some_dir/

Ini hanya akan berfungsi jika alex adalah anggota consultgrup, yang tampaknya menjadi contoh dalam contoh Anda.

Ini tidak akan mengizinkan ben untuk mengakses semua direktori alex karena dua alasan:

  1. Tidak semua direktori alex akan menjadi milik consultgrup
  2. Beberapa direktori alex mungkin milik consultgrup tetapi alex mungkin tidak memilih untuk mengizinkan rwxgrup mengaksesnya.

Singkatnya, jawabannya tergantung pada kepemilikan grup dan pada bit izin grup yang ditetapkan untuk direktori.

Semua ini asalkan Anda tidak menggunakan langkah-langkah kontrol akses wajib tambahan pada sistem Anda.

Joseph R.
sumber
Consult_documents adalah Direktori lalu bagaimana Anda dapat menentukannya sebagai grup?
Babin Lonston
@Babinlonston Anda tidak bisa. Anda tentukan consultsebagai grup.
Joseph R.
Terima kasih, saya mencari cara memberikan akses ke direktori ke satu grup. Saya tidak menyadari bahwa perintah chgrp dapat melakukan ini. Saya pikir chgrp hanya untuk menambah / menghapus pengguna ke grup.
anatak
1
@anatak Memodifikasi keanggotaan grup dilakukan melalui usermodtidakchgrp
Joseph R.
Apakah ini sama dengan chown -R :consult some_dir/?
Aaron Franke
7

Ini akan membuat alex dan ben saling berkolaborasi dalam Direktori ini, dan mereka tidak dapat berkolaborasi dalam Dir ..

Ubah grup Pengguna menggunakan

# usermod -a -G alex,ben alex

Kemudian ubah Izin untuk Folder

# chown alex:ben consult_documents

Periksa di sini saya sudah bekerja di sekitar

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

Silahkan lihat di sini

Babin Lonston
sumber
6

Jika saya memahami pertanyaan Anda dengan benar, jawabannya adalah ya.

Biarkan saya jelaskan:

Folder dan hak akses file Anda dibagi menjadi tiga kategori:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

Setiap file dan folder harus dimiliki oleh pengguna.

Yang berarti, jika Anda memiliki folder bernama berkonsultasi_dokumen, dan Anda ingin dapat diakses dari semua orang di grup Konsultasikan, Anda akan memiliki ini (dengan 755 hak akses):

drwxrwxr-x Alex Consult [......]

Direktori dimiliki oleh Alex, dan grupnya adalah Consult. Alex memiliki hak akses RWX di situ. Consult Group memiliki hak akses RWX di atasnya. Pengguna lain memiliki hak RX.

Karena pengguna Anda memiliki beberapa grup, Anda dapat memilih grup untuk dibagikan.

Misalnya, jika folder Anda dimiliki oleh Alex dari groupe Alex:

drwxrwxr-x Alex Alex [......]

Lakukan:

chown Alex:Consult your_folder

Itu akan menjadi:

drwxrwxr-x Alex Consult [......]

Dan kemudian direktori tersedia untuk grup Consult.

Harap perhatikan bahwa, sejauh yang saya tahu, Anda dapat menambahkan grup yang bukan salah satu grup pemilik. Tapi saya tidak yakin apakah itu direkomendasikan (tidak jelas ketika membaca hak akses).

Laurent C.
sumber
3

setfacl -mg: debian-transmission: rwx -R / mnt / sra

Menemukan perintah ini bagus, bukannya chown yang akan mengubah pemilik file atau direktori!

Anda akan melihat pada 'ls -Al' bahwa tanda + akan ditambahkan untuk menunjukkan bahwa ada lebih dari satu pemilik!

drwxr-xr-x 2 root root 4096 8 Nov 19:11 sdc1 /

drwxrwxr-x + 3 root root 4096 17 Feb 19:16 sra /

Dan kemudian Anda dapat menggunakan getfacl untuk melihat siapa yang dapat menulis atau membaca file atau direktori!

# file: sra

# owner: root

# group: root user :: rwx

grup :: rx

grup: debian-transmisi: rwx

mask :: rwx

lainnya :: rx

default: user :: rwx

default: group :: rx

default: grup: debian-transmission: rwx

default: mask :: rwx

default: other :: rx

Marc Cabana
sumber