Saat masuk karena root
saya ingin ke su
pengguna reguler tertentu. Saya menjalankan su username
dan segera menerima prompt kembali, masih sebagai root. Tidak ada kesalahan yang diberikan. Saya mengetahui masalah lama "pengguna yang Anda coba su tidak memiliki izin untuk folder yang sedang Anda masuki", dan itu tidak terjadi dalam skenario ini. Selain itu, tidak ada kesalahan yang ditampilkan, yang selalu terjadi (sejauh yang saya tahu) ketika masalah izin tertentu ditemukan.
Saya sudah mencoba su - username
dengan efek yang sama. Perintah diproses, tidak ada kesalahan yang terlihat, dan saya segera menerima konfirmasi.
Apa yang bisa menyebabkan perilaku ini? Bagaimana saya bisa memecahkan masalah ini?
/bin/false
?sudo -u username -s
(atau-i
) BTW./etc/passwd
tadi malam dan tidak seperti itu! =) Bisakah Anda menjawabnya? Saya akan menerimanya.Jawaban:
Periksa shell yang dimiliki pengguna
/etc/passwd
. Jika shell adalah/bin/false
(shell umum untuk melarang login), maka Anda akan melihat perilaku yang Anda jelaskan. Atau, itu mungkin beberapa program lain yang segera mengakhiri yang memberikan hasil yang efektif samasumber
/bin/false
cangkangnya, Anda dapat melakukannya dengansu - user -s /bin/sh
.Saya sarankan menggunakan strace pada proses su untuk melihat di mana proses gagal.
Seharusnya memberi Anda BANYAK output untuk memilah-milah, tetapi sesuatu di sana harus menunjukkan di mana masalah terjadi.
sumber
Anda harus memeriksa shell
/etc/passwd
, dan, tanpa ingin menggurui, periksa outputwhoami
setelah berjalansu
.sumber
root
dan bukan pengguna yang saya coba alihkan.Periksa log sistem Anda: menggunakan sudo harus mencatat semua tindakan. Jadi jika ada masalah, itu harus ditulis.
sumber