OVH Cloud OVH Cloud

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.

1 réponse

1 2
Avatar
Cyrille Lefevre
Stephane CHAZELAS a écrit :
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



Bonjour,

suis pas d'accord avec toi, d'après l'exemple donné, il voulait tout
simplement connaitre l'utilisateur courant après un su et non
l'utilisateur de connexion. ensuite, il s'est empêtré dans le whoami
not found, who am i, etc.

je rappelai donc juste les bases, surtout en ce qui concerne la
distinction whoami et who am i (aka who -m).

quand au fait de tester l'euid plutôt que l'uid, c'est un peu trop
puriste à mon goût, hormis dans un context de "hacker"...

ex. :

echo 'main(int args, char **argv) { return(system(argv[1])); }' > s.c
make s; chmod u+s s; su bin -c './s id'

je ne vois pas d'autres cas ou l'on se retrouve avec un euid == 0,
sauf shell avec un setuid bien évidement.

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
1 2