Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

lancer le script en sudo #2

Closed
cedricAbonnel opened this issue Dec 7, 2023 · 3 comments
Closed

lancer le script en sudo #2

cedricAbonnel opened this issue Dec 7, 2023 · 3 comments

Comments

@cedricAbonnel
Copy link

je ne pense pas que ce soit un bonne idée de ne pas demander sudo dès le début. Si tu en as besoin, demande le dès le début.

@BigoudOps
Copy link
Owner

cela permet de faire l'action que dans le cas d'une installation et si l'installation prend plus de temps que les 5 minutes ou l'action d'ajout de mots de passe n'est pas nécessaire.

@cedricAbonnel
Copy link
Author

Si tu veux permettre à l'utilisateur d'exécuter le script soit avec ou sans "sudo", tu peux le faire de la manière suivante :

#!/bin/bash

# Vérifier si l'utilisateur a les privilèges d'administration
if [ "$(id -u)" != "0" ]; then
    echo "Ce script peut être exécuté avec ou sans sudo."
fi

# Les actions nécessitant des privilèges d'administration
sudo dnf install package1
sudo systemctl restart service1
# Autres commandes

# Le reste du script
echo "Le script continue ici."

Avec cette approche, l'utilisateur peut exécuter le script avec "sudo" s'il le souhaite pour garantir que toutes les actions nécessitant des privilèges d'administration sont exécutées correctement, mais il peut également l'exécuter sans "sudo" pour effectuer les autres actions du script qui ne nécessitent pas de privilèges d'administration.

@cedricAbonnel
Copy link
Author

cedricAbonnel commented Dec 9, 2023

Les droits administratifs (ou droits root) acquis en utilisant la commande "sudo" sont généralement conservés pendant une courte période par défaut. Cette période est appelée le "timeout sudo". Le timeout sudo typique est de 15 minutes, ce qui signifie que tu peux exécuter des commandes avec des droits admin sans avoir à entrer à nouveau ton mot de passe pendant cette période.
Voir "/etc/sudoers"
La période de conservation des droits administratifs (timeout sudo) commence à partir du moment où tu executes une commande avec "sudo". Plus précisément, le décompte des 15 minutes (ou de la durée spécifiée dans la configuration sudo) commence dès que tu entre ton mot de passe sudo avec succès pour exécuter une commande. Le timeout ne se réinitialise pas à la fin du script.

Le timeout sudo se réinitialise à chaque fois que tu tapes avec succès une nouvelle commande en utilisant "sudo" pendant la période de timeout actuelle. Cela signifie que si tu exécutes une commande avec "sudo" et que le timeout est par exemple de 15 minutes, puis que tu enchaînes avec une autre commande "sudo" avant que le timeout n'expire, le timeout sera réinitialisé à partir de ce moment.

Donc, tu peux exiger le mot de passe en début de script, et rappeler durant le script sudo pour maintenir les droits.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants