Risposte:
Risposta breve:
Utilizzando visudo
, aggiungi quanto segue al tuo file sudoers, sostituendo il nome utente con il nome utente corretto:
username ALL = /etc/init.d/apache2
Se non si desidera digitare una password prima di eseguire questa operazione, utilizzare quanto segue:
username ALL = NOPASSWD: /etc/init.d/apache2
Successivamente, l'utente "username" può eseguire sudo /etc/init.d/apache2 start
(o arrestare, riavviare, ecc.)
Risposta lunga: Probabilmente vorrai impostare un utente separato per questo se non l'hai già fatto, e quindi configurare il file / etc / sudoers per consentire a un utente o gruppo di eseguire il comando che desideri.
Ad esempio, per consentire all'utente "ben" di eseguire tutti i comandi come prompt di root per una password, eseguire le seguenti operazioni:
ben ALL= ALL
Per consentire a "ben" di eseguire solo un comando (come dire, rm
), si dovrebbe fare quanto segue:
ben ALL= /bin/rm
Se stai eseguendo uno script come utente e non vuoi richiedere una password, ti consigliamo di utilizzare l'opzione 'NOPASSWD' in questo modo:
ben ALL=NOPASSWD: /bin/commandname options
Puoi fare la stessa cosa per i gruppi prefissando i nomi dei gruppi con un segno di percentuale, in questo modo:
%supportstaff ALL= NOPASSWD: /bin/commandname
visudo
comando esegue controlli di sicurezza sulle modifiche in modo da non interrompere accidentalmente il comando sudo
/ su
: unix.stackexchange.com/a/27595/61349
Risposta breve: sudo.
La chiamata sarebbe simile alla seguente: sudo /etc/init.d/apache2 restart
Il più semplice è usare visudo
per impostare il file / etc / sudoers. Vedi man sudoers
e man visudo
per i dettagli.
Puoi anche farlo scrivendo un wrapper su apache2ctl, assegnando la proprietà del gruppo a un gruppo di amministrazione web e impostando il bit di suid. Questa è una soluzione meno generale rispetto a visudo, ma consente limitazioni personalizzate sulle capacità dell'utente e sul controllo degli errori.
Ho scritto questo strumento per le mie esigenze e l'ho condiviso su github: https://github.com/josiahjohnston/ltd_apache2ctl
username
essere limitato a un sottoinsieme di parametri? Direstart
restart
ma nostop
?