J'essaie d'exécuter un long Rsync (machine locale uniquement, pas de ssh, pas de connexions lan ou wan impliquées) mais Sudo se met en retard et le script échoue. La durée totale d'exécution de la commande est d'environ 20 minutes. Quelle est la méthode recommandée pour allonger le délai d'exécution de Sudo ou désactiver Sudo pour cette commande particulière uniquement ? Je suis l'administrateur de ce système mais je ne me connecte pas en tant que Root. Merci d'avance.
Réponse
Trop de publicités?Comment invoquez-vous réellement le script ? Si vous exécutez un script comme sudo script.sh
toutes les commandes à l'intérieur du script sont exécutées en tant que superutilisateur et vous ne devriez jamais avoir de délai d'attente. Si vous exécutez un script qui a un statut de superutilisateur, il ne devrait pas y avoir de délai d'attente. sudo
à l'intérieur, alors il pourrait demander un mot de passe plus d'une fois s'il prend trop de temps entre sudo
les commandes. Le site sudo
Le délai d'attente ne s'applique qu'aux nouvelles invocations de la fonction sudo
commande. Dans ce dernier cas, vous avez la possibilité d'utiliser la commande sudo -v
dans votre script qui prolongera le délai d'attente de sa valeur par défaut (normalement 5 minutes, mais voir ci-dessous comment le changer), mais si tout ce qui se trouve à l'intérieur a besoin des permissions du superutilisateur de toute façon, il est plus logique d'invoquer l'ensemble du script avec sudo
.
Si vous souhaitez modifier le délai d'expiration de sudo, vous devez modifier le fichier sudoers
fichier :
-
Faites monter le
sudoers
fichier :sudo visudo
-
Trouvez la ligne qui commence par :
Defaults env_reset
-
Ajoutez une virgule et la commande
timestamp_timeout=minutes
jusqu'à la fin (remplacez minutes par le nombre de minutes désiré, 0 demandera toujours un mot de passe) 0 demandera toujours un mot de passe, un nombre négatif ne mettra jamais fin à la session. dangereux ):Defaults env_reset,timestamp_timeout=10
-
Enregistrez et fermez le fichier.