[BSD] jelszó
Zahemszky Gábor
Gabor at Zahemszky.HU
2005. Feb. 28., H, 18:26:26 CET
Virgil.Varga at veritas-ag.de wrote:
> helo
>
> Meik file-ban tárolódik a jelszó?
>
> Asziszem mikor megkérdezte az elején a user hozzáadásnál hogy másolja e a
> jelszavamat az etc/passwd-be akkor én azt mondtam hogyne. Azaz akkor
> alapban hol tárolódik? vagy hogy tudom rábírni hogy kopizza bele a
> jelszavakat? merthogy van egy program ami onnan csekkolgatá a hozzáférési
> jogokat.
*BSD alatt a jelszó a /etc/spwd.db bináris fájlban van, amelynek
piszkálásához vipw -vel a /etc/master.passwd fájlt kell túrni, amiből
aztán a pwd_mkdb parancs állítja elő a a binárist. Ez utóbbi man-ja ad
némi támpontot, de olyat szabályosan elérni, hogy a /etc/passwd -be is
bekerüljön a jelszó, nem fogsz. Ha egy szoftver direktben a passwd-t
piszkálja, akkor tökön kell rúgni a fejlesztőjét, ugyanis erre vannak
szabványos C-libek (man getpwnam/getpwuid pl.) - amik korrekten működnek
pl. etc_shadow/NIS/LDAP/Kerberos/anyámkínja környezet esetén is. Ha a
szoftver szkript (sh/perl/tcl/python/nemsorolomtovább), akkor meg ki
kell javítani, hogy a master.passwd -ből olvasson - amihez root-jog kell
alapból.
Zahy < Gabor at Zahemszky dot HU >
--
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!' ;IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ
';set $Z ;for i { [[ $i = ? ]]&&print $i&&break;[[ $i = ???
]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j" = ???
]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set $Z;for
i { [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;j="$j $i";typeset +l
i;};print "$j"
További információk a(z) BSD levelezőlistáról