Le problème que je reçois est, lorsque j'entre la commande,
su - root
au début de mon fichier de script shell, il invite l'utilisateur à saisir le mot de passe, puis NE PAS continuer avec le reste du script shell. Je dois ensuite localiser et exécuter manuellement le script shell via le terminal. Je veux que le script s'assure que l'utilisateur se connecte en tant que root, puis continue avec le reste du script shell.
En d'autres termes, je veux exécuter le script en tant qu'utilisateur, mais dès que le script commence à s'exécuter, l'utilisateur doit passer à root et continuer avec le reste du script en tant que root jusqu'à ce qu'il soit terminé. Cela peut-il être fait?
sudo: must be setuid root
, alors quelque chose est arrivé à votre sudo. Pour résoudre ce problème:chmod u+s $(which sudo)
. Et oui, je suis bien conscient de ce que vous essayez de faire, je fais toujours la même chose dans mes scripts.Vous pouvez également vérifier l'UID:
la source
Vous pouvez appeler le script lui-même et vérifier:
la source
Au point où vous souhaitez vous connecter, ajoutez simplement la commande suivante
Cela fonctionne parfaitement avec mon code
la source