>>311
#include<pwd.h>
#include<stdio.h>
int main(void){
struct passwd *p;
while((p=getpwent()))
printf("%s:%s:%d:%d:%s:%s:%s:%s\n",p->pw_name,p->pw_passwd,p-> pw_uid,p->pw_gid,p->pw_geco
s,p->pw_dir,p->pw_shell);
}

これで大ジョブだと思うけど。
\n入れてなくてみずらかったから入れといた。