GNU/Linux >> Belajar Linux >  >> Linux

Ubah UID/GID hanya dari satu utas di Linux

setfsuid() khusus Linux / setfsgid() adalah per-utas daripada per-proses. Mereka dirancang khusus untuk kasus penggunaan ini (server file).

Perhatikan bahwa access() masih akan memeriksa akses menggunakan uid dan gid yang sebenarnya - yaitu dengan desain (ini dimaksudkan untuk menjawab pertanyaan "haruskah pengguna yang menjalankan biner ini memiliki akses yang diberikan ke file ini" ). Untuk setfsuid() / setfsgid() jika Anda hanya harus mencoba operasi yang diminta dan mendeteksi kegagalan karena kurangnya izin pada saat itu.


Untuk mengubah uid hanya untuk satu utas, Anda perlu menggunakan syscall secara langsung:syscall(SYS_setresuid, ...); Fungsi libc setresuid() akan menyinkronkannya untuk semua utas (menggunakan singal yang dikirim ke semua utas)!


Linux
  1. Perintah ganti nama Linux

  2. Ubah nama host server Linux

  3. Cara mengubah UID atau GID dengan aman di Linux

  1. Cara Membatasi Akses su ke Pengguna Hanya dengan PAM di Linux

  2. Cara (Benar) Mengubah UID dan GID pengguna/grup di Linux

  3. Bagaimana memberi nama utas di Linux?

  1. akses bersamaan ke file linux

  2. Batasi program gui di Linux hanya untuk satu instance

  3. Ganti akun di Linux Dropbox?