Grup dalam izin file grup

13

Saya mencoba menemukan ini di sini, tetapi tidak bisa meminta maaf jika ini adalah duplikat.

Katakanlah saya memiliki 2 grup dan seorang pengguna: group1, group2, user1 dengan struktur berikut: group1 adalah anggota grup 2, user1 adalah anggota group1

Sekarang katakan saya memiliki file berikut dengan izin yang relevan

file1 root:group1 660
file2 root:group2 660

Sekarang ketika saya masuk ke user1, saya bisa mengedit file1, tetapi tidak mengedit file2. Pendek menambahkan user1 ke group2, apakah ada cara untuk melakukan ini? atau tidak ada jalan?

Saya menggunakan btw Ubuntu.

Aram Papazian
sumber
Jika saya tidak salah, izin berbasis grup klasik di Linux tidak memungkinkan Anda untuk menempatkan grup di dalam grup lain. Jadi, apakah Anda menginstal sesuatu yang mengaktifkan fitur ini?
Gunther Struyf
Pengguna dapat menjadi anggota dari beberapa grup. Jika Anda menambahkan User1 ke group2 ia dapat mengubah File2. Perintah pilihan Anda adalah useradd.
user1146332
@GuntherStruyf Saya tidak mengubah apa pun ... Dari apa yang saya tahu, Ubuntu mengizinkannya secara default ...
Aram Papazian
@ user1146332 Intinya adalah untuk tidak menambahkan user1 ke group2. Jika itu satu-satunya cara maka saya bisa melakukan itu, tetapi secara teoritis saya lebih suka struktur bersarang kelompok ...
Aram Papazian

Jawaban:

15

Tidak ada yang namanya grup menjadi anggota grup. Grup, menurut definisi, memiliki seperangkat anggota pengguna. Saya belum pernah mendengar tentang fitur yang memungkinkan Anda menentukan “subkelompok” di mana anggota subkelompok secara otomatis diberikan keanggotaan ke dalam supergrup saat masuk. Jika /etc/groupdaftar group1sebagai anggota group2, itu menunjuk pengguna yang dipanggil group1(jika ada pengguna, yang memungkinkan: nama pengguna dan nama grup tinggal di ruang nama yang berbeda).

Jika Anda ingin user1 memiliki akses ke file2, Anda memiliki beberapa solusi:

  • Jadikan file2dapat diakses oleh dunia (Anda mungkin tidak menginginkan ini)
  • Jadikan user1 pemilik file2: chown user1 file2
  • Tambahkan user1 ke group2: adduser user1 group2
  • Tambahkan ACL ke file2yang memberikan akses ke user1 atau grup`:

    setfacl -m user:user1:rw file2
    setfacl -m group:group1:rw file2
    

    Lihat Membuat semua file baru di direktori yang dapat diakses oleh grup tentang mengaktifkan ACL.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
7
Yap, unix / linux tidak mendukung grup bersarang. Akan berguna jika itu terjadi, tetapi tidak. Windows melakukannya, dan Active Directory tidak. LDAP juga demikian, jadi harus dimungkinkan jika data akun dan grup dalam LDAP daripada di / etc / passwd dan / etc / group file ... tapi itu berlebihan ketika ada solusi sederhana seperti ACL (atau tambahkan saja pengguna untuk kedua grup)
cas