Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lancer commande avec les droits root...

3 réponses
Avatar
paul POULAIN
Bonjour,

comment faire avec un script Perl pour lancer une commande avec les droits
root ?
Je précise que le script demandera le mdp root à l'utilisateur, je veux
juste exécuter une commande par exemple pour écrire un fichier de config
dans /etc.

Question complémentaire : comment exécuter une commande externe et voir ce
qu'elle a affiché (si elle a affiché qqc) ? system n'a pas l'air de
permettre ce genre de chose :-(

1000 mercis par avance.

--
Paul

3 réponses

Avatar
DoMinix
Bonjour,

comment faire avec un script Perl pour lancer une commande avec les droits
root ?
Je précise que le script demandera le mdp root à l'utilisateur, je veux
juste exécuter une commande par exemple pour écrire un fichier de config
dans /etc.


plusieurs solutions dont une est un appel systeme a sudo (man sudo)
ou encore piloter avec expect(.pm) un appel a "su -" puis l'envoi
des commandes a executer en root (attention hein ).


Question complémentaire : comment exécuter une commande externe et voir ce
qu'elle a affiché (si elle a affiché qqc) ? system n'a pas l'air de
permettre ce genre de chose :-(


il faut la mettre entre `backquote` par exemple ou entre qx[]
ou cherche `STRING` dans perlop


1000 mercis par avance.



1000 de rien ça m'fait plaisir.

--
dominix

Avatar
ThM
juste exécuter une commande par exemple pour écrire un fichier de config
dans /etc.


Ajouter une tache CRON ?
Avatar
tfe
Bonjour,

il existe perl-suid pour executer un script avec les droits root.
perl-suid (à utiliser avec perl -t) restreint l'utilisation de
certaines fonctions et/ou variables d'environement.
Je pense que des droits du style:
chown user:root script.pl
chmod ug+xs script.pl
devraient suffir.

--
tfe
http://tfeserver.homelinux.com

ThM ha escrito:

juste exécuter une commande par exemple pour écrire un fichier de con fig
dans /etc.


Ajouter une tache CRON ?