Ich möchte, dass der Standardbenutzer ubuntu
einen bestimmten Dienst ausführen kann, ohne zur Eingabe eines Kennworts aufgefordert zu werden.
Speziell systemctl restart unicorn_my_app.service
.
Befolgen Sie die Anweisungen hier , um Benutzer ubuntu
zu einer neu erstellten Gruppe hinzuzufügen. Dies LimitedAdmins
wird bestätigt mit:
$ getent group LimitedAdmins
LimitedAdmins:x:1001:ubuntu
Erstellt eine neue Datei limitedadmins
(mit sudo vim
) in dem /etc/sudoers.d
Verzeichnis, das den folgenden Text enthält:
%LimitedAdmins ALL=NOPASSWD: /etc/init.d/unicorn_ofn_america restart, /etc/init.d/unicorn_ofn_america start
Ich habe auch versucht:
%LimitedAdmins ALL=NOPASSWD: /bin/systemctl/unicorn_ofn_america restart, /bin/systemctl/unicorn_ofn_america start
(Und /bin/systemd
)
Inhalt von /etc/sudoers/
ist der Standard, wie mit sudo visudo
(oder sudo cat /etc/sudoers
) bestätigt:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
(Die Hash-Anmeldung #includedir
ist kein Kommentar, sondern Teil der # include-Direktivensyntax. )
Nach dem Ausführen wird jedoch immer noch ein Kennwort abgefragt systemctl restart unicorn_my_app.service
Service gibt es im init.d
Verzeichnis:
$ ls -l /etc/init.d | grep unicorn
-rwxr--r-- 1 ubuntu ubuntu 1874 Oct 29 06:47 unicorn_my_app
Versuchte chmodding 755
auf der App, aber denke nicht, dass das einen Unterschied machen sollte, da ubuntu
es sowieso besitzt.
Ich habe sogar versucht, das System ohne Unterschied neu zu starten. Fehlt mir ein Schritt, wie ein Neustart / Neuladen)? Richten Sie etwas falsch ein?
Ich sollte auch erwähnen, dass ich vim
die neue Datei in erstellt habe /etc/sudoers.d
, da der visudo
Befehl anscheinend nur zum Bearbeiten gedacht ist /etc/sudoers
.