Menggunakan visudo, tambahkan berikut ini ke file sudoers Anda, ganti nama pengguna dengan nama pengguna yang tepat:
username ALL = /etc/init.d/apache2
Jika Anda tidak perlu mengetikkan kata sandi sebelum melakukannya, gunakan yang berikut ini:
username ALL = NOPASSWD: /etc/init.d/apache2
Setelah ini, pengguna 'nama pengguna' dapat menjalankan sudo /etc/init.d/apache2 start(atau menghentikan, memulai kembali, dll)
Jawaban panjang: Anda mungkin ingin mengatur pengguna terpisah untuk ini jika Anda belum melakukannya, dan kemudian mengkonfigurasi file / etc / sudoers untuk memungkinkan pengguna atau grup untuk menjalankan perintah yang Anda inginkan.
Misalnya, untuk mengizinkan pengguna 'ben' untuk menjalankan semua perintah sebagai root yang meminta kata sandi, Anda akan melakukan hal berikut:
ben ALL= ALL
Untuk mengizinkan 'ben' untuk mengeksekusi hanya satu perintah (seperti katakan, rm), Anda akan melakukan hal berikut:
ben ALL= /bin/rm
Jika Anda menjalankan skrip sebagai pengguna dan tidak ingin meminta kata sandi, Anda akan ingin menggunakan opsi 'NOPASSWD' seperti:
ben ALL=NOPASSWD: /bin/commandname options
Anda dapat melakukan hal yang sama untuk grup dengan mengawali nama grup dengan tanda persentase, seperti:
Dapat usernamedibatasi untuk subset parameter? Katakan startrestarttapi tidak stop?
ThorSummoner
yang visudoperintah melakukan pemeriksaan keamanan pada suntingan Anda sehingga Anda tidak melanggar sudo/ superintah secara tidak sengaja: unix.stackexchange.com/a/27595/61349
ThorSummoner
1
Jawaban singkat: sudo.
Panggilan akan terlihat mirip dengan yang berikut: sudo /etc/init.d/apache2 restart
Paling mudah digunakan visudountuk mengatur file / etc / sudoers. Lihat man sudoersdan man visudountuk detailnya.
Anda juga dapat melakukannya dengan menulis pembungkus ke apache2ctl, menetapkan kepemilikan grup ke grup administrasi web dan mengatur bit suid. Ini adalah solusi yang kurang umum daripada visudo, tetapi memungkinkan batasan khusus pada kemampuan pengguna dan pengecekan kesalahan.
username
dibatasi untuk subset parameter? Katakanstart
restart
tapi tidakstop
?visudo
perintah melakukan pemeriksaan keamanan pada suntingan Anda sehingga Anda tidak melanggarsudo
/su
perintah secara tidak sengaja: unix.stackexchange.com/a/27595/61349Jawaban singkat: sudo.
Panggilan akan terlihat mirip dengan yang berikut:
sudo /etc/init.d/apache2 restart
Paling mudah digunakan
visudo
untuk mengatur file / etc / sudoers. Lihatman sudoers
danman visudo
untuk detailnya.sumber
Anda juga dapat melakukannya dengan menulis pembungkus ke apache2ctl, menetapkan kepemilikan grup ke grup administrasi web dan mengatur bit suid. Ini adalah solusi yang kurang umum daripada visudo, tetapi memungkinkan batasan khusus pada kemampuan pengguna dan pengecekan kesalahan.
Saya menulis alat ini untuk kebutuhan saya sendiri dan telah membagikannya di github: https://github.com/josiahjohnston/ltd_apache2ctl
sumber