《第8章 Linux编程—用户管理函数.pdf》由会员分享,可在线阅读,更多相关《第8章 Linux编程—用户管理函数.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LinuxLinux操作系统操作系统操作系统操作系统 大工软件学院嵌入式系大工软件学院嵌入式系邱铁邱铁办公楼办公楼409Tel:87571521E_mail:第8章Linux编程用户管理函数Getgrent(从组文件中取得账号的数据)(从组文件中取得账号的数据)续endgrent(关闭组文件)(关闭组文件)示例解析示例解析#include#include main()struct group*data;int i;while(data=getgrent()!=0)i=0;printf(%s:%s:%d:,data-gr_name,data-gr_passwd,data-gr_gid);whil
2、e(data-gr_memi)printf(%s,data-gr_memi+);printf(n);endgrent();Getpw(取得指定用户的密码文件数据)(取得指定用户的密码文件数据)示例解析示例解析#include#include main()struct group*data;int i;while(data=getgrent()!=0)i=0;printf(%s:%s:%d:,data-gr_name,data-gr_passwd,data-gr_gid);while(data-gr_memi)printf(%s,data-gr_memi+);printf(n);endgrent
3、();Getpwent(从密码文件中取得账号的数据)(从密码文件中取得账号的数据)表头文件表头文件#include#include 定义函数定义函数 strcut passwd*getpwent(void);函数说明函数说明 getpwent()用来从密码文件(/etc/passwd)中读取一项用户数据,该用户的数据以passwd 结构返回。第一次调用时会取得第一位用户数据,之后每调用一次就会返回下一项数据,直到已无任何数据时返回NULL。续passwd结构定义如下:struct passwdchar*pw_name;/*用户账号*/char*pw_passwd;/*用户密码*/uid_t p
4、w_uid;/*用户识别码*/gid_t pw_gid;/*组识别码*/char*pw_gecos;/*用户全名*/char*pw_dir;/*家目录*/char*pw_shell;/*所使用的shell路径*/;返回值返回值返回passwd 结构数据,如果返回NULL 则表示已无数据,或有错误发生。续 附加说明附加说明 getpwent()在第一次调用时会打开密码文件,读取数据完毕后可 使用endpwent()来关闭该密码文件。错误代码错误代码 ENOMEM 内存不足,无法配置passwd结构。示例解析示例解析#include#include main()struct passwd*user
5、;while(user=getpwent()!=0)printf(“%s:%d:%d:%s:%s:%sn”,user-pw_name,user-pw_uid,user-pw_gid,user-pw_gecos,user-pw_dir,user-pw_shell);endpwent();Getpwnam从密码文件中取得指定账号的数据从密码文件中取得指定账号的数据示例解析示例解析#include#include main()struct passwd*user;while(user=getpwent()!=0)printf(“%s:%d:%d:%s:%s:%sn”,user-pw_name,user-pw_uid,user-pw_gid,user-pw_gecos,user-pw_dir,user-pw_shell);endpwent();getuid(取得真实的用户识别码)(取得真实的用户识别码)示例解析示例解析