Cara beralih (su) ke akun pengguna lain tanpa kata sandi
- 887
- 268
- Luis Baumbach
Di panduan ini, kami akan menunjukkan cara beralih ke akun pengguna lain atau tertentu tanpa memerlukan kata sandi. Misalnya, kami memiliki akun pengguna yang dipanggil postgres (default PostgreSQL Akun Sistem SuperUser), kami ingin setiap pengguna (biasanya kami PostgreSQL Database dan Administrator Sistem) dalam grup yang dipanggil postgres untuk beralih ke postgres akun menggunakan su
Perintah tanpa memasukkan kata sandi.
Secara default, hanya pengguna root yang dapat beralih ke akun pengguna lain tanpa memasukkan kata sandi. Setiap pengguna lain akan diminta untuk memasukkan kata sandi akun pengguna yang mereka beralih ke (atau jika mereka menggunakan perintah sudo, mereka akan diminta untuk memasukkan kata sandi mereka), jika mereka tidak memberikan kata sandi yang benar, mereka dapatkan sebuah "otentikasi gagal"Kesalahan seperti yang ditunjukkan pada tangkapan layar berikut.
Kesalahan kegagalan otentikasi penggunaAnda dapat menggunakan salah satu dari dua solusi yang disediakan di bawah ini untuk menyelesaikan masalah di atas.
1. Menggunakan Modul Otentikasi Pam
Pam (Modul Otentikasi Pluggable) adalah inti dari otentikasi pengguna pada sistem operasi Linux modern. Untuk mengizinkan pengguna dalam grup tertentu untuk beralih ke akun pengguna lain tanpa kata sandi, kami dapat memodifikasi pengaturan PAM default untuk perintah su dalam /etc/pam.d/su mengajukan.
# vim /etc /pam.d/su atau $ sudo vim/etc/pam.d/su
Tambahkan konfigurasi berikut setelah “Auth Pam_rootok yang cukup.Jadi“Seperti yang ditunjukkan pada tangkapan layar berikut.
auth [Success = abaikan default = 1] Pam_suceded_if.jadi user = postgres auth Pam_succeed_if yang cukup.jadi use_uid user ingroup postgres
Dalam konfigurasi di atas, baris pertama memeriksa jika pengguna target postgres, Jika ya, layanan memeriksa pengguna saat ini, jika tidak, default = 1
Garis dilewati dan langkah -langkah otentikasi normal dijalankan.
auth [Success = abaikan default = 1] Pam_suceded_if.jadi pengguna = postgres
Baris yang mengikuti pemeriksaan apakah pengguna saat ini ada di grup postgres, jika Ya
, Proses otentikasi dianggap berhasil dan hasilnya cukup sebagai hasilnya. Kalau tidak, langkah -langkah otentikasi normal dijalankan.
auth Pam_suceded_if yang cukup.jadi use_uid user ingroup postgresKonfigurasikan PAM untuk memungkinkan perintah SU yang menjalankan tanpa kata sandi
Simpan file dan tutup.
Selanjutnya, tambahkan pengguna (misalnya Aaronk) yang Anda inginkan su
ke akun postgres tanpa kata sandi untuk grup postgres menggunakan perintah usermod.
$ sudo usermod -ag postgres aaronk
Sekarang coba su
ke postgres akun sebagai pengguna Aaronk, Anda tidak boleh diminta untuk kata sandi seperti yang ditunjukkan pada tangkapan layar berikut:
$ su - postgresTambahkan pengguna ke grup
2. Menggunakan file sudoers
Anda juga bisa su
kepada pengguna lain tanpa memerlukan kata sandi dengan membuat beberapa perubahan dalam file sudoers. Dalam hal ini, pengguna (misalnya Aaronk) Siapa yang akan beralih ke akun pengguna lain (misalnya postgres) harus dalam file sudoers atau di grup sudo untuk dapat memohon Perintah sudo.
$ sudo visudo
Kemudian tambahkan konfigurasi berikut di bawah garis “%Sudo all = (all: all) all”
seperti yang ditunjukkan pada tangkapan layar berikut.
Aaronk all = nopasswd: /bin /su - postgresTambahkan pengguna ke file sudoers
Simpan dan tutup file.
Sekarang coba su
ke akun postgres sebagai pengguna Aaronk, Shell seharusnya tidak meminta Anda memasukkan kata sandi:
$ sudo su - postgresBeralih ke pengguna lain tanpa kata sandi
Itu saja untuk saat ini! Untuk informasi lebih lanjut, lihat halaman entri manual PAM (Man Pam.conf) dan itu Perintah sudo demikian juga (sudo man).
$ man Pam.sudo conf $ manBacaan terkait: 10 Konfigurasi Sudoers yang Berguna Untuk Menetapkan 'Sudo' di Linux
- « Setup Login SSH SSH Tanpa Kata Sandi untuk beberapa server jarak jauh menggunakan skrip
- Cara menginstal postgresql dan pgadmin di rhel 8 »