Dva uzivatele se stejnym UID

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Listopad 25 20:41:35 CET 2000


On Fri, 24 Nov 2000, Zdeněk Böhm wrote:

> ...Dost me prekvapilo, ze v preinstalacnim skriptu je pouze volani
> useradd, bez nejakych testu a s parametrem -u 43, tzn. natvrdo to
> prida uzivatele s UID 43.

Jiste useky uidu, treba neco jako tech 0-99, co jste rikal, ze
jste nasel v manualove strance, mohou byt vyhrazeny pro potreby
distribuce. Protoze tam nikdo nema co pohledavat, neni treba slozite
resit, jaky uid priradit.

Ja osobne jsem v jednom balicku udelal to, ze jsem si vybral uid fixni,
ale v %pre jsem testoval, jestli je ten uid uz pouzity. Pokud byl a nebyl
to prave ten ucet, co jsem potreboval, tak se balik odmital nainstalovat
(protoze to byl balik pro interni potrebu, tak to bylo plne vyhovujici
reseni). Test jsem delal primitivne grepem, coz ma prinejmensim tu chybu,
ze je tam race condition, ale v mnoha pripadech je to snesitelne (kdyz
lze predpokladat, ze administrator instalujici balik nebude mezitim
vyrabet ci rusit uzivatele).

> Zajimalo me, co by se stalo, kdyby zaznam s UID 43 uz existoval, tak jsem s
> tim zacal experimentovat. Dosel jsem az k nasledujicimu: Zadam "useradd -u 0
> xxx", bez problemu, do /etc/passwd pribyl zaznam. Zkusim se prihlasit:

Je to sice chovani asi trochu v rozporu s dokumentaci, ale vytvorit dva
uzivatelske ucty se stejnym uidem na unixovych systemech lze. Pochopitelne
pak jsou ti uzivatele prakticky identicti z hlediska pristupovych prav
(sice mohou mit jiny gid/supp. gids, ale nejsou dost separovani na to,
aby bylo mozno zabranit "transportu" opravneni) a je mozne, ze nektere
sluzby budou poradne fungovat jen pro jeden z takovych uctu (viz nize).

> Zadam whoami a ejhle, pise mi to, ze jsem root.

whoami se podiva na uid a hleda k nemu jmeno. Pochopitelne pro uid nejdriv
narazi na jmeno "root", tak ho vypise.

> V manualove strance se dale pise, ze UID 0-99 je vyhrazeno pseudouzivatelum
> nekterych sluzeb. Je to jako u portu, tzn. patri konkretni UID ke
> konkretnimu programu? Pokud ano, kde se da sehnat seznam, co patri k cemu?

To zalezi na pristupu te ktere distribuce. Asi nejsofistikovanejsi system
je v Debianu: pokud se pamatuji dobre, tak tam je nejaky interval vyhrazen
pro systemove ucty s fixne prirazenym uidem (typu 0=root) a pak jeste
dalsi interval pro sys. ucty s dynamicky prirazovanym uidem (urci se
az behem instalace, maji na to program, ktery takove ucty umi zakladat).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux