Saya tidak memerlukan administrator untuk mengubah kata sandi root saya. Saya tidak ingin pengguna sudo menjalankan perintah ini:
sudo passwd $root
Saya sudah mencobanya di file sudoers menggunakan perintah berikut:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
Bagaimana saya bisa memblokirnya?
Jawaban:
Menurut panduan sudoers :
Inilah sebabnya mengapa kebijakan sudoers Anda tidak berfungsi.
Jika Anda ingin mencegah pengguna untuk mendapatkan izin root dan mengubah kata sandinya, coba prosedur ini:
Dengan asumsi sudoers Anda mengandung arahan ini:
Dengan asumsi nama pengguna Anda adalah
foo
, grupnya adalahfoo
dansudo
.groups
perintah output adalah:Hapus pengguna
foo
darisudo
grup:gpasswd -d foo sudo
setelah ini, penggunafoo
tidak dapat menjalankan perintah dengan sudo.Edit file sudoers. Gunakan perintah ini:
Tetapkan
foo
izin pengguna , misalnya:Ini berarti bahwa pengguna
foo
dapat menjalankan perintah apa pun di direktori/usr/bin/
kecualipasswd
dansu
perintah. Catatan: Jika penggunafoo
ingin mengubah kata sandi, dapat menjalankanpasswd
perintah tanpasudo
.Contoh lain dari
foo
izin pengguna :Ini berarti bahwa pengguna
foo
dapat menjalankan perintah apa pun di direktori/usr/bin/
dan diizinkan untuk mengubah kata sandi siapa pun kecuali untuk root pada SEMUA mesin.Anda dapat mendefinisikan kelompok perintah dengan menetapkan
Cmnd_Aliases
dan membuat "tingkat izin". Anda dapat menemukan contoh yang berguna di bagian CONTOH manual sudoers , dan di sini ada tautan berguna tentang cara menggunakan sudoers.sumber
foo ALL=/usr/bin/*, !/usr/bin/passwd
tahu mengapa itu terjadi?tambahkan perintah alias melalui
visudo
:tambahkan batasan melalui
visudo
:tambahkan pengguna ke grup bernama nopasswdgroup:
sumber