Il existe un script shell (/ bin/sh, pas bash) qui nécessite des autorisations root pour l'exécution. S'il est exécuté par un utilisateur normal, il doit demander un mot de passe à l'utilisateur pour obtenir un accès root et se réexécuter lui-même.su et sudo dans un script shell
Maintenant, il utilise le code suivant:
if [ $(id -u) -ne 0 ]; then su root -- $0 [email protected] ; ... fi
Cela fonctionne très bien, mais il y a certains OS comme Ubuntu qui n'a pas de mot de passe root du tout. D'un autre côté, beaucoup de systèmes utilisent sudo pour les permissions root.
La question est: comment le script peut détecter si vous souhaitez utiliser su
ou sudo
sans demander à l'utilisateur d'entrer des mots de passe trop (par exemple entrer sudo
mot de passe, si elle échoue - terme su
).
Ce script est une sorte d'installation - Je ne lance pas à mon hôte, mais d'autres utilisateurs exécuter à leurs machines. – zserge
Qu'en est-il de la deuxième partie? Quitter tôt et les inviter à exécuter le script en tant que root. – gpojd
C'était le code utilisé dans les anciennes versions. Maintenant, j'essaie d'obtenir les privilèges root du script, donc l'utilisateur n'a pas besoin de le redémarrer.Semble être un peu plus convivial – zserge