Bagaimana cara memberikan hak sudo hanya untuk file skrip tertentu?


17

Saya ingin pengguna memiliki hak sudo (tanpa pemeriksaan kata sandi) untuk beberapa skrip shell di bawah direktori tertentu (dalam kasus saya, /usr/local/tomcat7/bin), dan ke tempat lain. Apa cara paling sederhana untuk mencapai ini?

Sesuatu seperti ini /etc/sudoerssepertinya tidak berfungsi:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

Jawaban:


22

Saya pikir Anda hampir sampai. letakkan /di akhir spesifikasi direktori Anda

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

Dari halaman manual sudoers

Direktori adalah nama jalur yang sepenuhnya memenuhi syarat yang diakhiri dengan '/'. Saat Anda menentukan direktori di Cmnd_List, pengguna akan dapat menjalankan file apa pun di dalam direktori tersebut (tetapi tidak di subdirektori mana pun di dalamnya).


Terima kasih (untuk kedua penjawab), berhasil! Catatan untuk diri sendiri: perlu memanggil skrip langsung (misalnya sudo catalina.sh stop) - ini tidak bekerja: sudo sh catalina.sh stop.
Jonik

7

Tambahkan garis miring '/' ke ujung jalan.

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.