HI i need to delete an entry in /etc/security/passwd.
can't find a way to do it with userpw.h api ( AIX ).
the passwd file i delete like this.
Write all entrys to passwd file except the one we are removing.
can't find any function that works like getspent / getpwent do
in AIX userpw api. How do i delete an entry in the shadow file on AIX?
while \(\(p = getpwent\(\)\) != NULL\) \{
/* Update passwd file if it's not the user we are removing */
if\(!\(typ==3 && strcmp\(p->pw_name,user\) == 0\)\) \{
putpwent\(p, fpb\);
\}
\}
On AIX use the setpwdb() / putuserpw() / endpwdb() calls for updating the shadow password file...see their manpages for details.
Thanks! but i already use those functions to update the shadowfile in
my code and it works!
My problem is that i need to delete an user entry from the shadow file, and putuserpw() dosent work here.
If i had a function that literate over the shadow file as getspent do in linux it would work. But can't find a function that works like that in AIX.
Does your machine have the /usr/include/shadow.h file on it. The getspent() family of functions are declared in that header file and my guess is that since they are not POSIX compliant AIX excludes them.
I had to write my own function that removes from /etc/security/passwd.
Cause could not find any solution to that in the api