Problem je uspesno resen a za sve koji se koje interesuje ili se nalaze u situaciji kao ja evo resenja i objasnjenja problema
Svi programi koje sam video na net-u koriste privremene fajlove koje onda kopiraju u /etc/shadow -- sto je veoma glupo, neefikasno, nebezbedno itd.
Da bi se pozivale funkcije za rada sa shadow fajlom koje koriste i programi iz shadow paketa (passwd i kompanija) treba program da kompajlirate i linkujete sa
-lshadow -lmisc ili da sacekate shadow-4.0.3 kada necete morati da koristite -lmisc.
Za one koje mrzi da pogledaju source od passwd.c evo spiska funkcija,promenjljivih koje treba da se koriste:
const struct spwd *sp;
struct spwd newsp;
spw_lock() -- lokuje shadow fajl
spw_open(O_RDWR) -- otvara shadow fajl za citanje i pisanje o drugmi parametrima ne znam nista ali pretpostavljam da mogu da se nadju u sourcu
spw_locate (*char) vraca podatke u *sp strukturu (koja izgleda mora biti const)
spw_update(&newsp) -- updejtuje podatke o korisniku iz newsp strukture
spw_close() -- zatvara shadow fajl
spw_unlock -- otkljucava shadow_fajl
Owl