owner lekérdezése

owner lekérdezése

Hozzászólások

Nekem a who am i parancs kimeneteben mindig az eredeti felhasznalo latszik, akar su, akar su - volt elotte. (Nem keverendo ossze az egyben irt whoami paranccsal, aminel viszont nem.)

[quote:478c4050bd="macskas"]hi
sztem ez mindig a helyes eredmenyt adja:
[code:1:478c4050bd]LOGNAME=`cat /proc/self/status|grep Uid|awk '{print $2}'`[/code:1:478c4050bd]

aztan ottvan $LOGNAME valtozoba rakva milyen userkent futott le cat, es valszeg olyan userkent fut progi is.

Izé, nekem ez sarge-on még a sudo-ra is uid 0-át ad. A `who am i` viszont jól működik.

Szerk: lehet, hogy félreértettem, ha szkriptből su-zik, akkor persze tök jó megoldás.

Sziasztok!

Szeretném lekérdezni azon user nevét, aki a su-val futtatja azt a progit, amelyikből ezt tudni szeretném.
Hú, de megaszontam!
Remélem érthető vagyok. Tehát a futó programnak kéne tudnia a gazdi nevét, sajna nem igazan boldogulok vele.
Konkrétan sh, vagy bash példa érdekelne, no meg az, hogyan lehetne az eredményt környezeti változóba pakolni?
Első próbálkozásom a logname-val nem volt sikeres (akár az első randim).

Ahogy mondani szokás: minden megoldás érdekel!
Köszi!

futtasd sudoval, aztán echo $USERNAME

[quote:7c7fb2ec99="lipilee"]futtasd sudoval, aztán echo $USERNAME

Nem én futtatom, hanem pretendroot-tal az, akinek a neve kéne.

Az a user akinek a nevét akarod tudni az sudo -val jut root joghoz, vagy tudja a jelszót?
Amúgy a terminálja alapján nem derül ki?

[quote:a7c5c88e78="supageo"]Az a user akinek a nevét akarod tudni az sudo -val jut root joghoz, vagy tudja a jelszót?

Bizony tudja!

Amúgy a terminálja alapján nem derül ki?

Sajnos nem feltétlenül terminalban futtatja.

Nekem nem teljesen vilagos hogy mit is akarsz de a ps -t nezted?...

[quote:f3d54985ac="maszili"]Nekem nem teljesen vilagos hogy mit is akarsz de a ps -t nezted?...

Igazad van, köszi!
Ez kell nekem :)

Lehet hogy én nem értek valamit, de:

[code:1:d2308caaaa]hunger@gep:~$ su
Password:
# echo $LOGNAME
hunger
[/code:1:d2308caaaa]

[quote:b51f83bc7d="hunger"]Lehet hogy én nem értek valamit, de:

[code:1:b51f83bc7d]hunger@gep:~$ su
Password:
# echo $LOGNAME
hunger
[/code:1:b51f83bc7d]

Ok. Van egy szkript, amit nem én futtatok, hanem akárki, aki előzőleg átmenetileg root jogot szerzett és így csinál valamit.
Na, ekkor kellene a szkriptnek (amit már rootként hívott meg) tudnia a hívó login nevét.
Bocs a zavaros fogalmazásért.

[quote:4901448dde="begyu"][quote:4901448dde="hunger"]Lehet hogy én nem értek valamit, de:

[code:1:4901448dde]hunger@gep:~$ su
Password:
# echo $LOGNAME
hunger
[/code:1:4901448dde]

Ok. Van egy szkript, amit nem én futtatok, hanem akárki, aki előzőleg átmenetileg root jogot szerzett és így csinál valamit.
Na, ekkor kellene a szkriptnek (amit már rootként hívott meg) tudnia a hívó login nevét.
Bocs a zavaros fogalmazásért.

pont erre ad megoldást az amit írtam, nem?

[quote:105cc89204="hunger"]
pont erre ad megoldást az amit írtam, nem?

De igen, csak sajnos teszteléskor egy idő után a logname azt írta ki, hogy:
no login name
És ezzel nem tudok mit kezdeni.

[quote:442631a1a9="hunger"][quote:442631a1a9="begyu"][quote:442631a1a9="hunger"]Lehet hogy én nem értek valamit, de:

[code:1:442631a1a9]hunger@gep:~$ su
Password:
# echo $LOGNAME
hunger
[/code:1:442631a1a9]

Ok. Van egy szkript, amit nem én futtatok, hanem akárki, aki előzőleg átmenetileg root jogot szerzett és így csinál valamit.
Na, ekkor kellene a szkriptnek (amit már rootként hívott meg) tudnia a hívó login nevét.
Bocs a zavaros fogalmazásért.

pont erre ad megoldást az amit írtam, nem?

Ez szép és jó - de ha a 'su' helyett 'su - ' a parancs, amivel root -ba vált, akkor bizony ugrott a $LOGNAME is! Innen kezdve a megoldás a _talán_ müködik kategóriába esik, mert könnyen kicselezhetö...

[quote:6ceba500ff="begyu"]a logname azt írta ki, hogy

basszus, Te az env-et írtad, nam a prog-ot.
Nem is jotott eszembe ez a változó. A röhej az, hogy pont a környezetbe szerettem volna beírni! Huje vagyok, na.

Köszönöm!

[quote:3d3f18bd62="begyu"][quote:3d3f18bd62="hunger"]
pont erre ad megoldást az amit írtam, nem?

De igen, csak sajnos teszteléskor egy idő után a logname azt írta ki, hogy:
no login name
És ezzel nem tudok mit kezdeni.

Én nem a logname programról (/usr/bin/logname) beszélek, hanem a környezeti változóról ($LOGNAME). Igaz, hogy az átírható, tehát security okokból nem teljesen megfelelő, de nem tudom, hogy neked mire kell.

[quote:1b524d81c4="Zs"]
Ez szép és jó - de ha a 'su' helyett 'su - ' a parancs, amivel root -ba vált, akkor bizony ugrott a $LOGNAME is! Innen kezdve a megoldás a _talán_ müködik kategóriába esik, mert könnyen kicselezhetö...

A helyzet annyival zavarosabb, hogy nem a su-ról lenne szó, hanem egy UHU-specifikus progiról (pretendroot), ami ha jól tudom alternatív függvényekkel old meg rendszerhívásokat, a root jog szimulálásához.

hi
sztem ez mindig a helyes eredmenyt adja:
[code:1:a41c9f8ff6]LOGNAME=`cat /proc/self/status|grep Uid|awk '{print $2}'`[/code:1:a41c9f8ff6]

aztan ottvan $LOGNAME valtozoba rakva milyen userkent futott le cat, es valszeg olyan userkent fut progi is.

[quote:ae913540e2="macskas"]hi
sztem ez mindig a helyes eredmenyt adja:
[code:1:ae913540e2]LOGNAME=`cat /proc/self/status|grep Uid|awk '{print $2}'`[/code:1:ae913540e2]

aztan ottvan $LOGNAME valtozoba rakva milyen userkent futott le cat, es valszeg olyan userkent fut progi is.

Köszi, kipóbálom!