Executer script au login utilisateur

Résolu/Fermé
sonnezavantdentrer Messages postés 5 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 9 octobre 2009 - 9 oct. 2009 à 17:00
dubcek Messages postés 18549 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 octobre 2022 - 10 oct. 2009 à 10:32
Bonjour à toutes et à tous,

Nouveau sur le site et le forum et néophyte sur linux, je cherche comment faire pour exécuter un script pour un utilisateur en particulier. J'ai trouvé comment le faire pour tout utilisateur (dans /etc/init.d si je ne m'abuse) mais pas pour un utilisateur en particulier.

C'est un script qui me permet de lancer une copie de fichier à partir d'une bande DAT afin de mettre à jour des fichiers.

J'ai créé un utilisateur qui s'appelle 'miseajour'. Quand je me connecte avec ce login, et ce login uniquement, il faut que le script de copie se lance. Le top serait également que se profil soit le plus minimaliste possible, voir qu'aucune action ne soit possible a part le lancement de ce script. Mais bon, voyons les choses les unes après les autres et le lancement du script serait déjà une bonne chose.

Merci à vous pour vos bons tuyaux.

Au plaisir de vous lire.

11 réponses

dubcek Messages postés 18549 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 1 octobre 2022 5 556
10 oct. 2009 à 10:32
hello
Le top serait également que se profil soit le plus minimaliste possible, voir qu'aucune action ne soit possible a part le lancement de ce script
il est possible de remplacer le shell de login dans /etc/passwd par le script
au login, le script s'exécute et logout
1
Utilisateur anonyme
9 oct. 2009 à 17:03
Hello,

Si je ne me trompe pas, il faut inclure le script dans le .bash_profile de l'utilisateur concerné.
0
sonnezavantdentrer Messages postés 5 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 17:25
Hello,

Merci pour ta réponse rapide. Le .bash_profile se trouve à la racine du répertoire /home de l'utilisateur ?
J'en vois un qui s'appelle .bashrc

Et si c'est lui, y a t-il une commande en particulier pour lancer le script ou suffit-il simplement de lui dire où il est ? (exemple : '/home/nom_utilisateur/scriptdemiseajour.sh'

Merci encore
0
Utilisateur anonyme
9 oct. 2009 à 17:31
Plutôt qu'un long discours, un petit lien ;o)

http://lfs.traduc.org/view/blfs-1.0-fr/postlfs/profile.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sonnezavantdentrer Messages postés 5 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 18:05
Bonjour,

(Pour rappel, je travaille sous Debian Lenny)

J'ai lu le fichier qui pointe vers ton lien. D'abord, merci.
Cependant, je suis vraiment un bleu (= jeune blanc bec, débutant, novice, neuneu, quisaitpasencorefairegrandchose, etc)

Donc c'est pas super clair pour moi. Ce que je n'arrive pas à comprendre, c'est comment, dans l'un de ces deux fichiers ('/etc/profile' ou '/etc/bashrc') lui dire ==> éxécute ce scripte si c'est Toto qui se connecte.

Les scripts dont tu me parle sont dans '/etc' et non dans le '/home' de l'utilisateur en question.

Merci néanmoins
0
Utilisateur anonyme
9 oct. 2009 à 18:28
Il est dans la racine utilisateur /home/nomuser/.bash_profile

et il s'exécute à l'ouverture de session. C'est tout l'intérêt de la manip :o)
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
9 oct. 2009 à 18:30
Salut,

Si le fichier ".bash_profile" n'existe pas dans le "/home" de ton utilisateur, tu le crées...

;-))
0
Utilisateur anonyme
9 oct. 2009 à 18:32
Ah ben oui, ça j'avais pô dit...

Que deviendrait-on sans les lumières, mon bon Jipicy :o)
0
sonnezavantdentrer Messages postés 5 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 18:53
Bonjour,

Super ! Cela se précise.

Pour finir (enfin je crois...)
Ce que je marque dans ce fichier c'est :

cd /home/utilisateur
miseajour.sh (C'est le nom du script que je doit lancer)


Ou bien faut il faire quelque chose de plus compliqué ?

Merci à vous tous
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
9 oct. 2009 à 19:03
Re-

Le script doit être exécutable (je précise au cas ou...)
Si le chemin (/home/utilisateur) n'est pas dans le $PATH, il faut lancer le script par :

./miseajour.sh 

Ou rajouter le chemin dans le $PATH et le déclarer (avant de lancer le script hein ? ;-)) ) :

PATH=$PATH:$HOME/chmin
ecport PATH

Si tu as besoin de certaines choses déclarées dans ton ~/.bashrc, il faut le sourcer :

if [ -f ~/.bashrc ]
then
. ~/.bashrc
fi

;-))
0
jeanbi Messages postés 14753 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 7 septembre 2022 2 391
9 oct. 2009 à 19:12
bonjour,
il y a plus simple !
il suffit
menu
systeme préférences session et ajouter son programme ...
a+
0
sonnezavantdentrer Messages postés 5 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 19:27
Bonjour jeanbi,

En passant par 'systeme préférences session' cela ne va t-il pas lancer le script pour tout utilisateur qui se connecte ? Moi je veux seulement que le script se lance si c'est Toto qui ouvre sa session.

Merci
0