Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2011, 19h21   #1
Membre à l'essai
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : 20
Points : 20
Par défaut Connaître le home de l'utilisateur connecté graphiquement à partir d'un script shell lancé avec sudo

Bonjour,

Tout est dans le titre. Mais pour mieux détailler, je désire au fait récupérer le répertoire personnel de l'utilisateur ayant lancé un script en faisant "sudo ./script.sh" en ligne de commande par exemple.

A partir du script la variable $HOME contient /root lorsqu'il est lancé avec sudo. Ce que je veux c'est obtenir mon login si c'est moi qui suis connecté !

Merci.
hisoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 19h35   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 071
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 071
Points : 4 154
Points : 4 154
Bonjour,

appelle ton script avec des paramètres :
Code :
sudo ton_script $USER $HOME

?
pour les récupérer avec les paramètres positionnels.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 11h09   #3
Membre à l'essai
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : 20
Points : 20
Bonjour,

Tout d'abord, merci pour ta réaction. Toutefois, la solution que tu proposes ne m'arrange pas. En effet, mon script n'est pas lancé directement en ligne de commande mais plutôt lors de l'installation d'un RPM : script post installation. Vu que le RPM est installé par l'utilisateur root ou avec sudo, la valeur de $HOME dans le script est toujours /root. D'où mon post.

Désolé, je sais bien que ce n'est pas le problème présenté dès le début mais je pensais avoir une solution autre qu'un passage par paramètre !

Merci.
hisoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h19   #4
Membre habitué
 
Avatar de Levi59
 
Homme
Étudiant
Inscription : août 2011
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 46
Points : 126
Points : 126
Citation:
Envoyé par hisoft
Vu que le RPM est installé par l'utilisateur root ou avec sudo, la valeur de $HOME dans le script est toujours /root. D'où mon post.
En bash :
test.sh
Code :
1
2
3
4
#!/bin/bash
 
  echo $SUDO_USER
  exit
Ce qui donne en console :
Code :
1
2
3
4
5
 
  levi59@crunchbang-desktop:~$ chmod +x test.sh
  levi59@crunchbang-desktop:~$ sudo ./test.sh
  [sudo] password for levi59:
  levi59
__________________
Carpe Diem
Levi59 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/12/2011, 10h33   #5
Membre à l'essai
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : 20
Points : 20
Citation:
Envoyé par Levi59 Voir le message
En bash :
test.sh
Code :
1
2
3
4
#!/bin/bash
 
  echo $SUDO_USER
  exit
Ce qui donne en console :
Code :
1
2
3
4
5
 
  levi59@crunchbang-desktop:~$ chmod +x test.sh
  levi59@crunchbang-desktop:~$ sudo ./test.sh
  [sudo] password for levi59:
  levi59
J'ai effectué quelques tests et ça ne marche pas à tous les coups.

Je pense que le mieux est que je puisse savoir quel est le login de l'utilisateur connecté graphiquement ...
hisoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 11h31   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Essaye de voir du côté de la commande who ou w et de récupérer l'ID connectée sur le display ":0"...
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 13h48   #7
Membre habitué
 
Avatar de Levi59
 
Homme
Étudiant
Inscription : août 2011
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 46
Points : 126
Points : 126
Si c'est toi qui as créé ce logiciel, pourquoi ne pas ajouter une option pour que au premier lancement, celui ci créé les fichiers de configuration donc il a besoin si ceux ci sont absent. Ça te permettrait de contourner le problème et surtout, ça rendrait le programme fonctionnel même sur un utilisateur créé après l’installation. Non?
__________________
Carpe Diem
Levi59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h37.


 
 
 
 
Partenaires

Hébergement Web