Cara beralih (su) ke akun pengguna lain tanpa kata sandi

Cara beralih (su) ke akun pengguna lain tanpa kata sandi

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 pengguna

Anda 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 postgres 
Konfigurasikan 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 - postgres 
Tambahkan 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 - postgres 
Tambahkan 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 - postgres 
Beralih 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 $ man 
Bacaan terkait: 10 Konfigurasi Sudoers yang Berguna Untuk Menetapkan 'Sudo' di Linux