GNU/Linux >> Belajar Linux >  >> Linux

Perlu Menggunakan Newgrp Atau Su (atau Logout Dan Login Lagi) Agar Keanggotaan Grup Baru Diterapkan?

Apa yang membuat keanggotaan grup baru memerlukan login baru (atau shell login baru seperti yang dimulai oleh su atau newgrp ) agar terlihat?

Hanya menjalankan instance bash (atau shell apa pun lainnya) dengan --login tidak berfungsi, tetapi sesuatu yang suid root seperti su atau newgrp berfungsi.

Apakah sesuatu yang diwarisi dari cangkang induk atau di-cache yang menyembunyikan keanggotaan grup baru?

Jawaban yang Diterima:

Saat proses anak dibuat, id pengguna proses dan id grup diwarisi dari proses induknya.

Jadi ketika Anda mengubah grup pengguna Anda (sebenarnya mengubah file konfigurasi di suatu tempat di disk) proses tidak akan secara otomatis menyadarinya dan mengubah id grup mereka (proses non-root tidak memiliki hak untuk itu).

Dan ketika Anda memulai bash… yah, Anda baru saja memulai bash, tidak ada yang istimewa terjadi. Itu hanya mewarisi id grup induk (shell grafis atau bash lain mungkin).

Tetapi ketika Anda menjalankan su atau login maka semua keajaiban terjadi. Mereka memeriksa apakah Anda diizinkan untuk masuk dan mengubah id pengguna dan id grup mereka (menggunakan panggilan sistem yang memerlukan id root yang efektif – itulah sebabnya mereka memiliki suid bit set) sehingga semua proses turunan mereka mewarisi id ini.


Linux
  1. Buat database baru dan gunakan di MySQL/MariaDB

  2. Gunakan Perintah Grep Dan Cari?

  3. Cara memulai layanan systemd setelah pengguna masuk dan menghentikannya sebelum pengguna keluar

  1. Pengantar perintah Linux chgrp dan newgrp

  2. Mengapa Linux harus memiliki `/dev/cdrom` dan `/media/cdrom`?

  3. Buat pengguna vsftpd baru dan kunci ke (tentukan) direktori home / login

  1. Gunakan mount --bind Untuk Memindahkan Situs Web Dan Direktori Email dari Server ISPConfig 3 Ke Direktori Baru

  2. Gunakan mount --bind Untuk Memindahkan Situs Web Dan Direktori Email dari Server ISPConfig 3 Ke Direktori Baru

  3. Antivirus di Linux:Haruskah Saya Benar-Benar Menggunakannya dan Jika Ya, Kapan Saya Membutuhkannya?