Saya perlu mengizinkan perintah khusus pada kotak Linux Debian untuk satu pengguna. Saya sudah mencoba ini di /etc/sudoers
file:
# User privilege specification
zabbix ALL=NOPASSWD: /usr/bin/apt-get --print-uris -qq -y upgrade 2>/dev/null |awk '{print $2}' | wc | awk '{print $1}'
Ini tidak berfungsi seperti yang diharapkan. Jika saya menjalankan perintah sebagai pengguna zabbix dengan sudo, ia meminta kata sandi (meskipun saya telah menentukan NOPASSWD
opsi).
Namun, ini berfungsi:
# User privilege specification
zabbix ALL=NOPASSWD: /usr/bin/apt-get
Tetapi memiliki kelemahan bahwa semua sub perintah dari apt-get
allowd. Apakah ada cara bagaimana saya bisa memperbaikinya hanya mengizinkan perintah tertentu?
Anda mungkin tidak menyukai cara pengalihan berinteraksi dengan sudo. Pengalihan dilakukan pada pengguna panggilan bukan pengguna istimewa. Mungkin akan lebih mudah bagi Anda untuk membungkus Anda dengan perintah dalam skrip dan kemudian mengizinkan pengguna zabbix untuk menjalankan skrip itu misalnya
mengatur sudoers sebagai
Sekarang seluruh skrip akan dijalankan sebagai pengguna istimewa dan bukan hanya perintah apt-get tertentu. Meskipun demikian pastikan bahwa pengguna zabbix tidak dapat menulis ke skrip.
sumber