Antworten:
Kurze Antwort:
visudo
Fügen Sie Ihrer sudoers-Datei unter Verwendung von Folgendes hinzu, und ersetzen Sie den Benutzernamen durch den richtigen Benutzernamen:
username ALL = /etc/init.d/apache2
Wenn Sie dazu kein Kennwort eingeben müssen, verwenden Sie Folgendes:
username ALL = NOPASSWD: /etc/init.d/apache2
Danach kann der Benutzer 'Benutzername' ausführen sudo /etc/init.d/apache2 start
(oder stoppen, neu starten usw.)
Lange Antwort: Wenn Sie dies noch nicht getan haben, möchten Sie wahrscheinlich einen separaten Benutzer einrichten und dann die Datei / etc / sudoers so konfigurieren, dass ein Benutzer oder eine Gruppe den gewünschten Befehl ausführen kann.
Um es dem Benutzer 'ben' beispielsweise zu ermöglichen, alle Befehle als root auszuführen und zur Eingabe eines Kennworts aufzufordern, gehen Sie wie folgt vor:
ben ALL= ALL
Um zuzulassen, dass 'ben' nur einen Befehl ausführt (wie zum Beispiel, rm
), würden Sie Folgendes tun:
ben ALL= /bin/rm
Wenn Sie als Benutzer ein Skript ausführen und nicht zur Eingabe eines Kennworts auffordern möchten, sollten Sie die Option 'NOPASSWD' wie folgt verwenden:
ben ALL=NOPASSWD: /bin/commandname options
Sie können das Gleiche für Gruppen tun, indem Sie den Gruppennamen ein Prozentzeichen voranstellen.
%supportstaff ALL= NOPASSWD: /bin/commandname
visudo
Befehl führt Sicherheitsprüfungen für Ihre Änderungen durch, damit Sie den Befehl sudo
/ nicht su
versehentlich unterbrechen
Kurze Antwort: sudo.
Der Aufruf würde ungefähr so aussehen: sudo /etc/init.d/apache2 restart
Am einfachsten ist es, die visudo
Datei / etc / sudoers einzurichten. Siehe man sudoers
und man visudo
für Details.
Sie können dies auch erreichen, indem Sie einen Wrapper für apache2ctl schreiben, einer Webadministrationsgruppe den Gruppeneigentum zuweisen und das suid-Bit setzen. Dies ist eine weniger allgemeine Lösung als visudo, ermöglicht jedoch benutzerdefinierte Einschränkungen der Benutzerfähigkeiten und der Fehlerprüfung.
Ich habe dieses Tool für meine eigenen Bedürfnisse geschrieben und es auf github geteilt: https://github.com/josiahjohnston/ltd_apache2ctl
username
auf eine Untermenge von Parametern beschränkt werden? Sagstart
restart
doch nichtstop
?