Ich möchte einen sudo
Befehl ( sudo service smbd restart
) nach 1 Minute der Anmeldung ausführen lassen. Wie würde ich das machen?
PS Dies ist ein System ohne Monitor, Maus, Tastatur oder Lautsprecher - es ist ein Drucker und ein Dateiserver.
Ich möchte einen sudo
Befehl ( sudo service smbd restart
) nach 1 Minute der Anmeldung ausführen lassen. Wie würde ich das machen?
PS Dies ist ein System ohne Monitor, Maus, Tastatur oder Lautsprecher - es ist ein Drucker und ein Dateiserver.
Antworten:
A) Wenn es beim Systemstart ist, fügen Sie dies am Ende Ihres /etc/rc.local
(1) hinzu: ( exit 0
natürlich vor dem ):
( sleep 60 && service smbd restart )&
Hinweis:
()
werden benötigt, damit sich der komplexe Befehl von selbst löst und in den Hintergrund tritt, sodass der Startvorgang abgeschlossen werden kann.sudo
wird dort nicht benötigt, /etc/rc.local
wird ausgeführt von root
;B) Wenn es sich um eine Benutzeranmeldung handelt , benötigen Sie zwei Schritte:
Konfigurieren Sie Ihre sudo
so, dass kein Kennwort für den service smbd restart
Befehl abgefragt wird (siehe Wie führe ich bestimmte sudo-Befehle ohne Kennwort aus? ).
Bereiten Sie ein Skript mit den folgenden Inhalten vor und fügen Sie es Ihrem Autorun / Start-Programm hinzu (variiert je nach verwendeter Desktop-Umgebung).
Skript:
#!/bin/bash
( sleep 60 && service smbd restart )&
Fußnoten
(1) Überprüfen Sie, ob /etc/rc.local
es ausführbar ist. Ansonsten mach es so mitsudo chmod +x /etc/rc.local
Versuchen Sie man sleep
:
sleep 60 && sudo service smbd restart
Fügen Sie dies in die Autorun-Programme oder Skripte ein, die zur Anmeldezeit ausgeführt werden.
sudoers
Datei nicht richtig konfigurieren , funktioniert sie nicht (fragt nicht mehr nach einem Kennwort). Siehe askubuntu.com/questions/159007/…