Rechercher : dans
Par :

Executer script au login utilisateur

Dernière réponse le 10 oct 2009 à 10:32:48 sonnezavantdentrer, le 9 oct 2009 à 17:00:55 
 Signaler ce message aux modérateurs

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.

Configuration: Linux Debian Lenny

Meilleures réponses pour « executer script au login utilisateur » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Créer un script d'ouverture de session VoirWindows permet de définir des scripts d'ouverture de session, c'est-à-dire des scripts contenant des commandes exécutés dès qu'un utilisateur ouvre une nouvelle session. Les scripts d'ouverture de session permettant de lancer des tâches qui seront...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

BugCrusher, le 9 oct 2009 à 17:03:56

Hello,

Si je ne me trompe pas, il faut inclure le script dans le .bash_profile de l'utilisateur concerné. Plus on est confiant dans sa capacité à faire fonctionner un­e machine, plus on passe pour un con quand ça foire...

Répondre à BugCrusher

2

sonnezavantdentrer, le 9 oct 2009 à 17:25:20

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

Répondre à sonnezavantdentrer

3

BugCrusher, le 9 oct 2009 à 17:31:18

Plutôt qu'un long discours, un petit lien ;o)

http://lfs.traduc.org/view/blfs-1.0-fr/postlfs/profile.html Plus on est confiant dans sa capacité à faire fonctionner un­e machine, plus on passe pour un con quand ça foire...

Répondre à BugCrusher

4

sonnezavantdentrer, le 9 oct 2009 à 18:05:01

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

Répondre à sonnezavantdentrer

5

BugCrusher, le 9 oct 2009 à 18:28:37

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) Plus on est confiant dans sa capacité à faire fonctionner un­e machine, plus on passe pour un con quand ça foire...

Répondre à BugCrusher

6

jipicy, le 9 oct 2009 à 18:30:01

Salut,

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

;-)) $ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

7

BugCrusher, le 9 oct 2009 à 18:32:53

Ah ben oui, ça j'avais pô dit...

Que deviendrait-on sans les lumières, mon bon Jipicy :o) Plus on est confiant dans sa capacité à faire fonctionner un­e machine, plus on passe pour un con quand ça foire...

Répondre à BugCrusher

8

sonnezavantdentrer, le 9 oct 2009 à 18:53:34

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

Répondre à sonnezavantdentrer

9

jipicy, le 9 oct 2009 à 19:03:26

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

;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

10

jeanbi, le 9 oct 2009 à 19:12:34

Bonjour,
il y a plus simple !
il suffit
menu
systeme préférences session et ajouter son programme ...
a+
FC 11 - Mandriva 2009 -Debian 5.0-
Les meilleures choses ont besoin de patience.(JC ANGLADE)
penser aux astuces 

Répondre à jeanbi

11

sonnezavantdentrer, le 9 oct 2009 à 19:27:24

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

Répondre à sonnezavantdentrer

12

 dubcek, le 10 oct 2009 à 10:32:48
  • +1

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

Répondre à dubcek
Collection CommentÇaMarche.net