Wie starte ich einen sudo-Befehl beim Start mit einer Verzögerung von 1 Minute?

8

Ich möchte einen sudoBefehl ( 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.

user2235532
quelle
1
Was meinst du mit angemeldet? 1 Minute nach dem Start des Computers oder 1 Minute nach dem Anmelden eines Benutzers?
Jhilmer
Was Fischer sagte, siehe auch stackoverflow.com/questions/3964254/…
Richard
1
Wenn eine Antwort dem OP entspricht, markieren Sie sie bitte als beantwortet. Siehe meta.askubuntu.com/questions/8333/…
Rmano

Antworten:

10

A) Wenn es beim Systemstart ist, fügen Sie dies am Ende Ihres /etc/rc.local(1) hinzu: ( exit 0natürlich vor dem ):

( sleep 60 && service smbd restart )& 

Hinweis:

  1. Die äußeren ()werden benötigt, damit sich der komplexe Befehl von selbst löst und in den Hintergrund tritt, sodass der Startvorgang abgeschlossen werden kann.
  2. sudowird dort nicht benötigt, /etc/rc.localwird ausgeführt von root;
  3. Sind Sie wirklich sicher, dass dies eine Lösung ist? Es ist eine Rennbedingung, die darum bittet ...

B) Wenn es sich um eine Benutzeranmeldung handelt , benötigen Sie zwei Schritte:

  1. Konfigurieren Sie Ihre sudoso, dass kein Kennwort für den service smbd restartBefehl abgefragt wird (siehe Wie führe ich bestimmte sudo-Befehle ohne Kennwort aus? ).

  2. 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.locales ausführbar ist. Ansonsten mach es so mitsudo chmod +x /etc/rc.local

Rmano
quelle
4

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.

Landroni
quelle
Wenn Sie die sudoersDatei nicht richtig konfigurieren , funktioniert sie nicht (fragt nicht mehr nach einem Kennwort). Siehe askubuntu.com/questions/159007/…
Rmano
1
Einverstanden. Ihre Antwort ist sicherlich vollständiger als meine. Hier habe ich einfach versucht, den Benutzer auf eine Lösung hinzuweisen.
Landroni