Dari pengguna root, bagaimana saya bisa memberikan izin kepada pengguna lain untuk mengeksekusi file /root/script.sh?
Idenya adalah menjalankan skrip seperti sudo -u user1 /root/script.sh
su(1)
Dari pengguna root, bagaimana saya bisa memberikan izin kepada pengguna lain untuk mengeksekusi file /root/script.sh?
Idenya adalah menjalankan skrip seperti sudo -u user1 /root/script.sh
su(1)
Jawaban:
Pengguna harus memiliki
mengeksekusi izin untuk seluruh jalur direktori ( /roothanya di sini )
mengeksekusi izin untuk file tersebut
baca izin untuk file tersebut
Mungkin ide yang bagus untuk /roottidak tersentuh dan membuat (atau menggunakan) direktori yang berbeda untuk tujuan ini (misalnya /usr/local/bin). Anda dapat membuat user1satu-satunya pengguna yang diizinkan untuk mengeksekusi skrip dengan menjadikannya pemilik file atau meninggalkan rootsebagai pemilik dan grup, mengatur izin akses sederhana ( chmod) ke 770dan menambahkan user1dengan ACL ( setfacl).
Jika skrip Anda terletak di direktori root, maka
$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar 5 20:14 /root
user1 hanya bisa di-root.
/etc/sudoersEntri Anda akan terlihat seperti
Cmnd_Alias SCRIPT=/root/script.sh
# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT
Anda biasanya mengedit file dengan visudo
Maka Anda juga tidak perlu melakukan perintah -u rootAnda sudo.
The %berarti kelompok pengguna. Ketika Anda meninggalkannya maka hanya pengguna yang diizinkan untuk menjalankan perintah. Jika Anda ingin sekelompok pengguna untuk menjalankannya, biarkan seperti itu.
sudoperintah yang Anda tulis?