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

Récupérer le login d'un utilisateur dans un script (solaris)

11 réponses
Avatar
JKB
Bonjour à tous,

Je suis en train de bricoler un script de démarrage pour un logiciel
maison qui ne doit pas être exécuté en root mais en simple
utilisateur (pour des histoires de terminaison de processus).
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

10 réponses

1 2
Avatar
Ph. Ivaldi
Bonjour,

Le 07 janvier 2010, JKB écrivit :
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?



Soit je ne comprends pas le problème soit il n'y a pas de problème :

[]$ whoami
pi
]$ su
Password:
[]$ whoami
root

--
Philippe Ivaldi.
http://www.piprime.fr/
Avatar
Nicolas George
JKB wrote in message :
Je suis en train de bricoler un script de démarrage pour un logiciel
maison qui ne doit pas être exécuté en root mais en simple
utilisateur (pour des histoires de terminaison de processus).
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?



if [ -w /etc/passwd ] ?
Avatar
JKB
Le 07-01-2010, ? propos de
Re: Récupérer le login d'un utilisateur dans un script (solaris),
Ph Ivaldi ?crivait dans fr.comp.os.unix :
Bonjour,

Le 07 janvier 2010, JKB écrivit :
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?



Soit je ne comprends pas le problème soit il n'y a pas de problème :

[]$ whoami
pi
]$ su
Password:
[]$ whoami
root



Et bien non :

tchaikovski:[~/rpltmp] > who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)
tchaikovski:[~/rpltmp] > su -
...
Sourcing //.profile-EIS.....
# who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)
# whoami
whoami: introuvable
#

J'oubliais, c'est un solaris 10.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
JKB
Le 07-01-2010, ? propos de
Re: Récupérer le login d'un utilisateur dans un? script (solaris),
Nicolas George ?crivait dans fr.comp.os.unix :
JKB wrote in message :
Je suis en train de bricoler un script de démarrage pour un logiciel
maison qui ne doit pas être exécuté en root mais en simple
utilisateur (pour des histoires de terminaison de processus).
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?



if [ -w /etc/passwd ] ?



Subtil et parfaitement idiot ;-) J'aime et je note. Ça fonctionne
parfaitement, même sous Solaris !

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Benoit Izac
Bonjour,

le 07/01/2010 à 15:14, JKB a écrit dans le message
:

Je suis en train de bricoler un script de démarrage pour un logiciel
maison qui ne doit pas être exécuté en root mais en simple
utilisateur (pour des histoires de terminaison de processus).
J'ai donc essayé de coller dans le script en question un test sur
'who am i', mais celui-ci renvoie l'identifiant de l'utilisateur
normal au lieu de root quand celui-ci est passé root avec un su. Comment
contourner le problème ?



id -u
id -un

--
Benoit Izac
Avatar
Ph. Ivaldi
Le 07 janvier 2010, JKB écrivit :

Et bien non :

tchaikovski:[~/rpltmp] > who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)
tchaikovski:[~/rpltmp] > su -
...
Sourcing //.profile-EIS.....
# who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)



Idem sous Debian. Je ne connaissais pas cette syntaxe pour le moins
étrange.

# whoami
whoami: introuvable



whoami du paquet coreutils, ça n'existe pas sous Solaris ?

J'oubliais, c'est un solaris 10.



Je n'avais pas fait attention au titre.

Cordialement,
--
Philippe Ivaldi.
http://www.piprime.fr/
Avatar
JKB
Le 07-01-2010, ? propos de
Re: Récupérer le login d'un utilisateur dans un script (solaris),
Ph Ivaldi ?crivait dans fr.comp.os.unix :
Le 07 janvier 2010, JKB écrivit :

Et bien non :

tchaikovski:[~/rpltmp] > who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)
tchaikovski:[~/rpltmp] > su -
...
Sourcing //.profile-EIS.....
# who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)



Idem sous Debian. Je ne connaissais pas cette syntaxe pour le moins
étrange.

# whoami
whoami: introuvable



whoami du paquet coreutils, ça n'existe pas sous Solaris ?



Solaris est assez tordu pour ne pas rajouter des choses
supplémentaires si on en n'a pas besoin ;-)

J'oubliais, c'est un solaris 10.



Je n'avais pas fait attention au titre.



J'aurais aussi pu répéter.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Stephane CHAZELAS
2010-01-07, 18:36(+01), Ph Ivaldi:
Le 07 janvier 2010, JKB écrivit :


[...]
whoami: introuvable



whoami du paquet coreutils, ça n'existe pas sous Solaris ?

J'oubliais, c'est un solaris 10.



Je n'avais pas fait attention au titre.


[...]

De standard, on a:

id -u
ps -o user= -p "$$"

qui donne un username associé au user id du process courant

et

logname

qui donne le username sous lequel on s'est loggé (qui n'est pas
forcement renseigné s'il n'y a pas eu de login)

who am i

est aussi standard, mais comme pour logname, ca renvoie les
informations de login et sur la plupart des systemes, su ne cree
pas de nouvelle login session.

--
Stéphane
Avatar
Cyrille Lefevre
JKB a écrit :
Le 07-01-2010, ? propos de
Re: Récupérer le login d'un utilisateur dans un script (solar is),
Ph Ivaldi ?crivait dans fr.comp.os.unix :
Le 07 janvier 2010, JKB écrivit :

Et bien non :

tchaikovski:[~/rpltmp] > who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)
tchaikovski:[~/rpltmp] > su -
...
Sourcing //.profile-EIS.....
# who am i
bertrand pts/2 janv 6 14:34 (rayleigh.systella.fr)


Idem sous Debian. Je ne connaissais pas cette syntaxe pour le moins
étrange.

# whoami
whoami: introuvable


whoami du paquet coreutils, ça n'existe pas sous Solaris ?



Solaris est assez tordu pour ne pas rajouter des choses
supplémentaires si on en n'a pas besoin ;-)



Bonjour,

révisez vos classiques les gars...
ressortez vos bouquins et apprenez les par coeur !

historiquement, nous avons, pour connaitre l'utilisateur courant :

bsd : whoami, sous solaris, il doit se trouver dans /usr/ucb
sysv : id (avec options si posix)

pour connaitre l'utilisateur de connexion :

sysv/bsd : who am i (who -R am i sous HP-UX)
posix : logname (car who n'est pas portable)

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Avatar
Stephane CHAZELAS
2010-01-09, 17:14(+01), Cyrille Lefevre:
[...]
ressortez vos bouquins et apprenez les par coeur !

historiquement, nous avons, pour connaitre l'utilisateur courant :

bsd : whoami, sous solaris, il doit se trouver dans /usr/ucb
sysv : id (avec options si posix)

pour connaitre l'utilisateur de connexion :

sysv/bsd : who am i (who -R am i sous HP-UX)
posix : logname (car who n'est pas portable)


[...]

Ca ne repond pas a la question. On ne veut pas l'utilisateur qui
s'est loggé, mais l'utillisateur (effective euid) qui run le
process courant

POSIXement,

id -u
ps -o user= -p "$$"

"who" est sous l'option XSI dans SUS (comme ps), donc
optionnelle chez POSIX mais required chez Unix.

http://www.opengroup.org/onlinepubs/9699919799/utilities/who.html

Pour etre sur d'avoir les commandes standard (depuis un shell
standard):

command -p id -u
command -p ps -o user= -p "$$"

--
Stéphane
1 2