Perso je prendrai le problème à l'envers, je le lancerai en root et passerai par su pour les commandes non root
Oui, c'est bien ce à quoi j'avais pensé, mais il me faut faire root->non-root->root puisque seule les dernières tâches nécessitent les droits root.
C'est probablement cette allé et retour qui a fait que j'ai lu l'histoire du fork mais je ne vois pas trop comment faire, et surtout comment échanger des variables entres 2 processus.
Une solution encore plus simple pourrait être de passer par 2 scripts et un fichier intermédiaire, mais je trouve (peut-être à tort d'ailleurs ) que ça manque d'élégance.]]>
Perso je prendrai le problème à l'envers, je le lancerai en root et passerai par su pour les commandes non root
C’est ce que je fais aussi en général, un script lancé en root et une diminution des privilèges gérée par le script.
Par contre je ne connais pas les outils les plus appropriés pour ça. Comme cyrille j’ai tendance à passer par su, mais je suis sûr qu’il existe des systèmes plus appropriés.]]>
Résultat
Sinon il va stopper le script en plein milieu pour la saisie du passwd
++]]>
su est surtout fait pour les utilisateurs non privilégiés, la solution
recommandée pour les utilisateurs privilégiés (par exemple, les scripts
exécutés par le superutilisateur) est d'utiliser la commande sans
set-user-ID runuser(1) qui ne nécessite pas d'authentification et qui
fournit une configuration PAM distincte. Si la session PAM n'est pas du
tout indispensable, alors la solution recommandée consiste à utiliser
la commande setpriv(1)
man su]]>