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 ( /root
hanya di sini )
mengeksekusi izin untuk file tersebut
baca izin untuk file tersebut
Mungkin ide yang bagus untuk /root
tidak tersentuh dan membuat (atau menggunakan) direktori yang berbeda untuk tujuan ini (misalnya /usr/local/bin
). Anda dapat membuat user1
satu-satunya pengguna yang diizinkan untuk mengeksekusi skrip dengan menjadikannya pemilik file atau meninggalkan root
sebagai pemilik dan grup, mengatur izin akses sederhana ( chmod
) ke 770
dan menambahkan user1
dengan 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/sudoers
Entri 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 root
Anda 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.
sudo
perintah yang Anda tulis?