Yanıtlar:
Kısa cevap:
Kullanarak visudo, kullanıcı adınızı doğru kullanıcı adıyla değiştirerek, aşağıdakileri sudoers dosyanıza ekleyin:
username ALL = /etc/init.d/apache2
Bunu yapmadan önce bir şifre girmeniz gerekmiyorsa, aşağıdakileri kullanın:
username ALL = NOPASSWD: /etc/init.d/apache2
Bundan sonra, 'kullanıcı adı' kullanıcısı yürütebilir sudo /etc/init.d/apache2 start(veya durdurabilir, yeniden başlatılabilir, vb.)
Uzun cevap: Henüz yapmadıysanız, bunun için ayrı bir kullanıcı ayarlamak isteyeceksiniz ve ardından / etc / sudoers dosyasını bir kullanıcının veya grubun istediğiniz komutu yürütmesine izin verecek şekilde yapılandırın.
Örneğin, 'ben' kullanıcısının tüm komutları parola soran kök olarak çalıştırmasına izin vermek için aşağıdakileri yaparsınız:
ben ALL= ALL
'Ben'in sadece bir komutu çalıştırmasına izin vermek için (söylediği gibi rm), aşağıdakileri yaparsınız:
ben ALL= /bin/rm
Bir komut dosyasını kullanıcı olarak çalıştırıyorsanız ve bir şifre sormak istemiyorsanız, 'NOPASSWD' seçeneğini şu şekilde kullanmak istersiniz:
ben ALL=NOPASSWD: /bin/commandname options
Aynı şeyi, gruplar için yüzde işareti olan grup adlarının önüne ekleyerek de yapabilirsiniz:
%supportstaff ALL= NOPASSWD: /bin/commandname
visudoEğer bozmaması için komut Düzenlemelerinizden güvenlik kontrolleri yapar sudo/ sukazara komutu: unix.stackexchange.com/a/27595/61349
Kısa cevap: sudo.
Çağrı, aşağıdakine benzer: sudo /etc/init.d/apache2 restart
En kolay visudo/ etc / sudoers dosyasını ayarlamak için kullanmaktır . Bkz man sudoersve man visudodetaylar için.
Bunu ayrıca, apache2ctl'ye bir sarıcı yazıp, bir web yönetim grubuna grup sahipliği atayarak ve suid bitini ayarlayarak da gerçekleştirebilirsiniz. Bu, visudo'dan daha az genel bir çözümdür, ancak kullanıcı yetenekleri ve hata kontrolünde özel sınırlamalara izin verir.
Bu aracı kendi ihtiyaçlarım için yazdım ve github'da paylaştım: https://github.com/josiahjohnston/ltd_apache2ctl
usernameparametre alt grubu ile sınırlandırılabilir mi? Söylestartrestartama değilstop?