Comment lancer une commande sudo au démarrage avec un délai d'une minute?

8

Je voudrais exécuter une sudocommande ( sudo service smbd restart) après 1 minute de connexion. Comment pourrais-je procéder?

PS Il s'agit d'un système sans moniteur, souris, clavier ou haut-parleurs connectés - c'est une imprimante et un serveur de fichiers.

user2235532
la source
1
Qu'entendez-vous par connecté? 1 minute après le démarrage de l'ordinateur ou 1 minute après la connexion d'un utilisateur?
jhilmer
Ce que Fischer a dit, voir aussi stackoverflow.com/questions/3964254/…
Richard
1
Si une réponse satisfait le PO, veuillez la marquer comme ayant été répondue. Voir meta.askubuntu.com/questions/8333/…
Rmano

Réponses:

10

A) Si c'est au démarrage du système , ajoutez ceci à la fin de votre /etc/rc.local(1): (avant le exit 0, évidemment):

( sleep 60 && service smbd restart )& 

Remarque:

  1. l'extérieur ()est nécessaire pour que la commande complexe se détache et passe en arrière-plan, permettant au processus de démarrage de se terminer;
  2. sudon'y est pas nécessaire, /etc/rc.localest exécuté par root;
  3. Êtes-vous vraiment sûr que c'est une solution? C'est une condition de course qui demande de se produire ...

B) si c'est à la connexion de l'utilisateur , vous avez besoin de deux étapes:

  1. configurez votre sudoafin qu'il ne demande pas de mot de passe pour la service smbd restartcommande (voir Comment exécuter des commandes sudo spécifiques sans mot de passe? );

  2. préparez un script avec le contenu suivant et ajoutez-le à votre programme d'exécution automatique / démarrage (varie en fonction de l'environnement de bureau que vous utilisez).

Scénario:

#!/bin/bash
( sleep 60 && service smbd restart )& 

Notes de bas de page

(1) vérifier s'il /etc/rc.localest exécutable. Sinon, faites-le avecsudo chmod +x /etc/rc.local

Rmano
la source
4

Essayez man sleep:

sleep 60 && sudo service smbd restart

Mettez cela dans les programmes ou scripts d'exécution automatique exécutés au moment de la connexion.

landroni
la source
Si vous ne configurez pas correctement le sudoersfichier, cela ne fonctionnera pas (cessera de demander un mot de passe). Voir askubuntu.com/questions/159007/…
Rmano
1
D'accord. Votre réponse est certainement plus complète que la mienne. Ici, j'essayais simplement de diriger l'utilisateur vers une solution.
landroni