Saya menggunakan Ubuntu 11.04. Saya ingin menjalankan skrip yang memeriksa proses yang sedang berjalan dan mematikan sistem saat proses itu berakhir. Untuk melakukan ini, pengguna memerlukan akses shutdown sehingga skrip dapat dieksekusi tanpa memerlukan kata sandi.
Saya merujuk ke halaman ini dan menambahkan teks dalam file sudoers saya. Namun, masih meminta saya kata sandi setiap kali saya mengeksekusi sudo shutdown -h now
. Juga, saya mendapatkan kesalahan yang mengatakan hak akses root diperlukan, ketika saya menjalankan shutdown tanpa sudo.
File sudoers saya terlihat seperti ini.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
# User privilege specification
root ALL=(ALL:ALL) ALL
myusername ALL = NOPASSWD: SHUTDOWN
Bagaimana saya bisa memberikan izin kepada pengguna untuk menjalankan perintah shutdown tanpa harus memasukkan kata sandi secara manual?
Terima kasih.
sudoers
file asli dan keseluruhan Anda ?Jawaban:
Anda dapat mematikan atau memulai kembali menggunakan HAL atau ConsoleKit yang tidak akan mengharuskan Anda memasukkan nama pengguna / kata sandi:
HAL (versi Ubuntu yang lebih lama):
ConsoleKit (versi Ubuntu yang lebih baru, diuji pada Ubuntu 11.04):
sumber
Saya melakukannya seperti dalam jawaban ini , bekerja dengan sempurna untuk saya. Mungkin pendekatan Anda melewatkan
visudo
bagian itu?Buka baris perintah dan ketik:
Di File yang terbuka tambahkan baris berikut di akhir:
Kemudian keluar dari editor dan simpan (CTRL + x).
Sekarang Anda dapat mematikan komputer dari baris perintah, mis. Setelah Anda mengunduh sesuatu:
sumber
Beberapa waktu lalu saya melakukan ini dengan mengatur suid (Set User ID). Ini membuat program mengeksekusi sebagai pemilik file, bukan pengguna yang menjalankannya. Karena shutdown dimiliki oleh root, ini akan membuat Anda shutdown tanpa sudo.
Ada implikasi keamanan karena siapa pun dapat menjalankan shutdown. http://en.wikipedia.org/wiki/Setuid
sumber
/etc
.sudo
adalah cara yang benar, menurut saya, tetapi sayangnya pengguna tidak memberikan kesempatan untuk melihatsudoers
file -nya , dan apa yang salah dengannya.Sepertinya Anda ingin menjalankan skrip itu sendiri sebagai root. Jika Anda ingin menjalankan skrip yang menunggu sampai selesai dan kemudian mematikan komputer Anda, maka Anda cukup menjalankan skrip dengan sudo. Itu akan menanyakan kata sandi Anda ketika Anda menjalankan skrip, tetapi kemudian skrip itu sendiri bebas untuk mematikan sistem tanpa intervensi lebih lanjut.
sumber