SOLUSI 1: newgrp
Cara sederhana untuk mengatasi kasus penggunaan Anda adalah menggunakan :NOPASSWD
dalam kombinasi dengan grup dan sandi grup:
Tambahkan baris ke sudoers:
%rudo ALL=(ALL:ALL) NOPASSWD:ALL
Buat grup yang dilindungi sandi:
groupadd rudo
gpasswd rudo # Enter passwd
Sekarang ketika Anda login sebagai pengguna yang tidak berhak (dengan asumsi Anda belum masuk dalam rudo
grup), login ke rudo
grup, di mana Anda akan diminta kata sandi.
login user
newgrp rudo
Sekarang Anda dapat menjalankan tanpa sudo
kata sandi, selama Anda tetap masuk ke grup.
SOLUSI 2: runaspw
Cara yang lebih baik, mungkin lebih aman untuk melakukan ini menggunakan runaspw
. runaspw
dikaitkan dengan runas_default
opsi sehingga Anda harus menambahkan opsi itu juga.
Dengan asumsi Anda sudah memiliki %sudo
entri grup default :
%sudo ALL=(ALL:ALL) ALL
tambahkan baris ini ke file sudoers:
Defaults:%sudo runas_default=sudo
Defaults:%sudo runaspw
Sekarang tambahkan sudo
pengguna baru dengan kata sandi:
useradd sudo -d /nonexistent -s /usr/sbin/nologin -MNr
passwd sudo
Sekarang pengguna grup sudo akan diminta untuk passwd pengguna sudo tetapi hanya pengguna dalam grup sudo yang dapat sudo (tidak seperti dengan solusi grup di atas, di mana siapa pun dalam grup atau dengan passwd grup dapat sudo).
Masalah kecil adalah runas default pengguna sekarang sudo
jadi untuk sudo sebagai root Anda harus secara eksplisit menentukan root:
sudo -u root <cmd>
Tapi cukup mudah untuk mendefinisikan alias ( alias sudo='sudo -u root'
) atau perintah sudo tidak langsung.