Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/06/2007, à 07:46

Vinvin2021

[Résolu avec sudo] Lancer un programme au démarrage en tant qu'user.

Bonjour smile

J'ai récemment bricolé un programme que je souhaite lancer automatiquement au démarrage de mon ordinateur. J'ai donc ajouté la ligne suivante dans le fichier /etc/init.d/rc.local :

/etc/init.d/mon_programme.sh

Le programme en question se lance bien. Ça marche sans le moindre souci ! wink

Cependant, ce programme est lancé par root, ce qui m'inquiète. En effet, il s'agit d'un programme bricolé, il comporte peut-être des failles de sécurité. Il serait plus prudent que ce ne soit pas root qui lance ce programme. Ma question est donc la suivante : au démarrage de l'ordinateur, comment lancer un programme en tant que simple user, pas en tant que root ?

Une précision : le programme en question doit être lancé AVANT qu'un utilisateur ne soit connecté au système (connexion sur un des terminaux virtuels tty, ou même connexion graphique). Le lancement automatique d'un programme au démarrage de Gnome (via le menu Système/Préférences/Sessions) n'est pas utile ici.

Merci d'avance ! 0002.gif

Dernière modification par Vinvin2021 (Le 08/06/2007, à 23:55)

Hors ligne

#2 Le 08/06/2007, à 07:55

valAa

Re : [Résolu avec sudo] Lancer un programme au démarrage en tant qu'user.

salut,

j'ai vu quelqu'un demander la même chose sur un forum debian, malheureusement je n'arrive pas à remettre la main sur le post en question.

il me semble que l'affaire avait été résolue en modifiant le script de lancement (ton_programme.sh).

en rajoutant au début

su user

toutes les commandes qui suivent seront lancées par l'utilisateur user

en mettant

su user -C une_commande

seule la commande une_commande sera lancée par l'utilisateur user.

je n'ai pas essayé personnellement, je ne suis donc pas sûr que ça marche, mais il me semble bien que cela avit été résolu de cette façon.

Hors ligne

#3 Le 08/06/2007, à 23:13

Vinvin2021

Re : [Résolu avec sudo] Lancer un programme au démarrage en tant qu'user.

Merci ValAa pour le coup de main ! Forum37.gif
J'ai fait quelques essais avec la commande su user -c, mais ça ne marchait pas parfaitement.

La solution a été donc été d'utiliser ... sudo ! En effet, sudo permet de lancer une commande en tant que n'importe quel utilisateur. Et si on ne précise pas d'utilisateur, on lance la commande en tant que root (chose bien connue des utilisateurs d'Ubuntu).

Pour lancer le programme en tant qu'user, voici la ligne de /etc/init.d/rc.local :

...
sudo -u bertrand /etc/init.d/mon_programme
...

Bien sur, « bertrand » est l'un des utilisateurs (users) du système.
Problème résolu ! 0059.gif

Hors ligne