Saya memiliki su
executable 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 wheel
grup 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 wheel
grup 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 su
instan setelah saya menambahkan pengguna ke grup yang sesuai?
permissions
su
pengguna4035
sumber
sumber
newgrp
Jawaban 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 jalankannewgrp
dan yang belum Anda jalankan . Bisa lebih sederhana / lebih mudah hanya dengan logout dan login lagi.Jawaban:
Cukup jalankan pengguna
Ini akan memulai shell baru dengan ID grup diubah ke
wheel
. Jika Anda ingin memulai shell baru dan mematikan yang sebelumnya, gunakansebagai gantinya.
Ini karena kernel masih memiliki groupset sebelumnya yang terkait dengan proses yang sedang berjalan.
sumber
newgrp wheel
sebagai pengguna, ia meminta kata sandi. Bahkan ketika saya mengetik kata sandi root, katanya: Kata sandi salahsu
sana untuk beralih ke root. Saya mencoba menjalankan "newgrp wheel", tetapi meminta beberapa kata sandi:bash-4.2$ newgrp wheel Password:
kata sandi root tidak berfungsinewgrp wheel
adalah 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.