GNU/Linux >> Belajar Linux >  >> Linux

Saya Menambahkan Pengguna Ke Grup, Tetapi Izin Grup Pada File Masih Tidak Berpengaruh?

Saya mengubah izin file (chmod g+w testfile ) dan menjalankan ls -l testfile memberikan:

-rwxrwxr-x 1 user1 user1 0 2011-01-24 20:36 testfile

Saya kemudian menambahkan pengguna ke grup itu (“/etc/group ” memiliki user1:x:1000:user2 line), tetapi saya gagal mengedit file itu sebagai user2. Mengapa demikian?

Jawaban yang Diterima:

user2 perlu keluar dan masuk kembali. Izin grup bekerja dengan cara ini:

  • Saat Anda masuk, proses Anda akan memiliki keanggotaan grup di grup utama Anda yang disebutkan di /etc/passwd , ditambah semua grup tempat pengguna Anda disebutkan di /etc/group . (Lebih tepatnya, pw_gid bidang di getpw(your_uid) , ditambah semua grup di mana pengguna Anda adalah anggota eksplisit. Di luar /etc/passwd dan /etc/group , informasi dapat berasal dari jenis database pengguna lain seperti NIS atau LDAP.) Grup utama menjadi ID grup efektif proses dan grup lain menjadi ID grup pelengkap.
  • Saat sebuah proses melakukan operasi yang memerlukan keanggotaan dalam grup tertentu, seperti mengakses file, grup tersebut harus berupa ID grup yang efektif atau salah satu ID grup tambahan dari proses tersebut.

Seperti yang Anda lihat, perubahan Anda pada keanggotaan grup pengguna hanya berlaku saat pengguna masuk. Untuk proses yang berjalan, sudah terlambat. Jadi pengguna perlu keluar dan masuk kembali. Jika itu terlalu merepotkan, pengguna dapat masuk ke sesi terpisah (misalnya di konsol yang berbeda, atau dengan ssh localhost ).

Di bawah tenda, sebuah proses hanya bisa kalah hak istimewa (ID pengguna, ID grup, kemampuan). Kernel memulai init proses (proses pertama setelah boot) berjalan sebagai root, dan setiap proses pada akhirnya diturunkan dari proses itu¹. login proses (atau sshd , atau bagian dari manajer desktop yang memasukkan Anda) masih berjalan sebagai root. Bagian dari tugasnya adalah menghapus hak akses root dan beralih ke pengguna dan grup yang tepat.

Ada satu pengecualian:mengeksekusi program setuid atau setgid. Program itu menerima izin tambahan:ia dapat memilih untuk bertindak di bawah berbagai himpunan bagian dari keanggotaan proses induk ditambah keanggotaan tambahan dalam pengguna atau grup yang memiliki setxid yang dapat dieksekusi. Secara khusus, program root setuid memiliki izin root, sehingga dapat melakukan segalanya²; ini adalah bagaimana program seperti su dan sudo dapat melakukan tugasnya.

Terkait:Bagaimana cara mematikan fungsionalitas "tempel tombol tengah mouse" di semua program?

Terkadang ada proses yang tidak diturunkan dari init (initrd, udev) tetapi prinsipnya sama:mulai sebagai root dan kehilangan hak istimewa seiring waktu.
² Membatasi kerangka kerja keamanan bertingkat seperti SELinux.


Linux
  1. Mendapatkan File Baru Untuk Mewarisi Izin Grup Di Linux?

  2. Memberikan Izin Grup ke File Pengguna Lain?

  3. Jika Saya Mengubah Izin Pada File Tar, Apakah Itu Berlaku Untuk File Di Dalamnya?

  1. Cara Memaksa Kepemilikan File oleh Pengguna/Grup Pada Samba Share

  2. Bagaimana cara mendapatkan kembali penyimpanan file yang dihapus, tetapi masih digunakan di Linux?

  3. Bagaimana cara kerja izin file untuk pengguna root?

  1. Bagaimana cara menambahkan pengguna ke grup di Linux

  2. Bagaimana cara mengatur izin linux untuk folder WWW?

  3. Izin apa yang harus dimiliki file/folder situs web saya di server web Linux?