Saya ingin menambahkan entri ke suoders saya untuk memungkinkan satu pengguna untuk menjalankan perintah dengan tepat satu argumen non-opsi.
# tail -1 /etc/sudoers
ALL ALL = (:tool) NOPASSWD: /bin/echo [a-z]*
$ sudo -g tool /bin/echo abc def
abc def
$ sudo -g tool /bin/echo -abc def
[sudo] password for user:
Bisakah saya melakukannya dengan menggunakan sudoers sytnax? Atau apakah saya perlu membuat skrip pembantu?
[a-z]*
sudah argumen saya inginkan. Jadi ini adalah argumen variabel. (Saya menggunakan / bin / echo hanya untuk pengujian.)Jawaban:
Sepengetahuan saya, Anda tidak bisa meneruskan argumen non-perintah ke sudo jika argumen itu bervariasi.
Anda dapat menentukan sesuatu seperti ini:
Ini akan memungkinkan pengguna untuk mengikuti file tertentu tetapi tidak file lain.
Jika Anda harus meneruskan variabel, saya sarankan skrip pembungkus.
Berikut adalah contoh pembungkus rsync:
https://sites.google.com/site/beingroot/articles/useful-scripts/wrapper-script-to-use-rsync-via-sudo
Jika Anda mencari Google untuk pembungkus sudo, Anda dapat menemukan lebih banyak contoh.
Pastikan untuk membuat hard code semua jalur dan menjalankan pemeriksaan kewarasan pada input jika pengguna tidak dapat dipercaya.
sumber