Saya mencoba menggunakan perintah sudo dan file sudoers dengan benar sehingga saya dapat menjalankan perintah sebagai pengguna lain.
Saya mengatur file sudoers saya sebagai berikut:
beans ALL = (root,apache) NOPASSWD: /opt/renovations/var/script-*.sh
root, apache, dan kacang-kacangan adalah bagian dari kacang grup.
Juga / opt memiliki 755 izin, sedangkan direktori / opt / renovasi dan sub-direktori dimiliki oleh pengguna dan grup bean.
Perintah yang saya coba jalankan sebagai kacang adalah:
sudo -n -u apache -i /opt/renovations/var/script-test.sh
-n: adalah agar saya tidak dimintai kata sandi, karena ini akan dijalankan oleh cron
-u: adalah agar saya dapat menyamar sebagai pengguna apache
-i: adalah agar saya mensimulasikan login, dan .profile saya dimuat. Saya memerlukan ini sehingga saya mengakses variabel lingkungan di profil.
Masalahnya adalah ketika saya menjalankan perintah sudo, saya mendapatkan pesan berikut:
sudo: maaf, kata sandi diperlukan untuk menjalankan sudo
Saya sudah mencoba menjalankan ini di AIX dan Ubuntu, tetapi masalahnya ada di kedua sistem. Ini berfungsi jika saya menjalankan:
sudo -n -u apache /opt/renovations/var/script-test.sh
Tetapi tanpa -i, lingkungan saya tidak mengandung semua variabel lingkungan yang saya butuhkan.
Apakah ada sesuatu yang saya perlu perbarui dalam file sudoers saya sehingga ini mungkin?
visudo -c
kembali (memeriksa sudoers untuk kesalahan). Juga, dapatkah Anda mengonfirmasi versi lengkap AIX (oslevel -s
) dan versi sudo yang diinstal?beans ALL = (root,apache) NOPASSWD: /usr/bin/ksh -c /opt/renovations/var/script-*.sh
danbeans ALL = (root,apache) NOPASSWD: /usr/bin/bash -c /opt/renovations/var/script-*.sh
Tapi sekarang saya mendapatkan kesalahan baru, misalnya:ksh: /opt/renovations/var/script-test.sh: cannot execute
Jawaban:
Jadi seperti yang Anda katakan sendiri @rzysto, solusinya adalah menambahkan yang berikut ke file sudoers
Bagian berikutnya yang hilang adalah untuk memastikan bahwa grup tersebut telah menjalankan izin pada skrip, sehingga Anda dapat mengeksekusi mereka.
sumber