Cara mengizinkan menjalankan su secara instan setelah saya menambahkan pengguna ke grup yang sesuai

8

Saya memiliki suexecutable dengan izin berikut:

bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14  2012 ./su

Ketika saya masuk sebagai pengguna, bukan di wheelgrup dan mencoba menjalankan su, saya mendapatkan kesalahan, yang benar:

bash-4.2$ su
bash: /bin/su: Permission denied

Setelah itu saya menambahkan pengguna ini ke wheelgrup dari root:

bash-4.2# usermod -a -G wheel user

Tetapi untuk sesi terminal yang sama saya masih tidak bisa menjalankan su:

bash-4.2$ su
bash: /bin/su: Permission denied

Untuk sesi baru saya bisa menjalankan su. Bagaimana cara menjalankan secara suinstan setelah saya menambahkan pengguna ke grup yang sesuai?

pengguna4035
sumber
1
newgrpJawaban Joseph benar - tetapi ini berlaku HANYA untuk shell yang Anda jalankan, jadi jika Anda memiliki banyak shell yang berjalan, mudah untuk melupakan yang sudah Anda jalankan newgrpdan yang belum Anda jalankan . Bisa lebih sederhana / lebih mudah hanya dengan logout dan login lagi.
cas

Jawaban:

8

Cukup jalankan pengguna

newgrp wheel

Ini akan memulai shell baru dengan ID grup diubah ke wheel. Jika Anda ingin memulai shell baru dan mematikan yang sebelumnya, gunakan

exec newgrp wheel

sebagai gantinya.

Ini karena kernel masih memiliki groupset sebelumnya yang terkait dengan proses yang sedang berjalan.

Joseph R.
sumber
Bagaimana saya bisa menjalankan emulator terminal grafis? Ketika saya menjalankan newgrp wheelsebagai pengguna, ia meminta kata sandi. Bahkan ketika saya mengetik kata sandi root, katanya: Kata sandi salah
user4035
@ user4035 Apakah kita bisa membicarakan lingkungan jaringan dengan mekanisme otentikasi seperti NIS / LDAP? Jika itu masalahnya, mungkin asosiasi grup baru belum disebarkan dengan benar ke mesin klien.
Joseph R.
Tidak, ini mesin lokal saya. Saya login sebagai pengguna, kemudian jalankan X Session, kemudian mulai terminal dan jalankan di susana untuk beralih ke root. Saya mencoba menjalankan "newgrp wheel", tetapi meminta beberapa kata sandi: bash-4.2$ newgrp wheel Password: kata sandi root tidak berfungsi
user4035
@ user4035 Menurut halaman manual ini akan menjadi kata sandi pengguna - bukan kata sandi untuk root. Ini logis, karena ini pada dasarnya sama dengan login baru.
Nils
2
Perhatikan bahwa jawaban ini tidak akurat karena efeknya newgrp wheeladalah tidak membiarkan "menambahkan pengguna ke grup roda" agar berlaku, efeknya adalah bahwa GID utama pengguna berubah yang berbeda secara mendasar - misalnya file yang baru dibuat akan memiliki GID baru.
Jakub Klinkovský