首页 > 代码库 > 第6章系统数据文件和信息总结
第6章系统数据文件和信息总结
1 口令文件的shell字段
如果是空,则使用系统默认的shell,一般是/bin/sh
/dev/null:阻止对应的用户名登陆系统
/bin/false:同样是阻止特定用户登录,以不成功状态终止
/bin/true:阻止特定用户登录,以成功状态终止
2 获取口令文件内容的函数
通过用户ID或用户名可以获取该用户在口令文件中的对应项
struct passwd* getpwuid(uid_t uid)struct passwd* getpwnam(const char *name)
获取整个口令文件内容:
struct passwd *getpwent()
示例:
struct passwd *a;printf("name\tpasswd\tshell\n");while( (a = getpwent()) != NULL){ printf("%s\t%s\t%s\n",a->pw_name,a->pw_passwd,a->pw_shell);}endpwent();
调用getpwent函数时,一定要调用endpwent函数关闭
在getpwent之前调用setpwent可以反绕口令文件,使定位到口令文件开始处,防止口令文件已经被getpwent掉用过
3 阴影口令
关于阴影口令有一组与口令文件类似的函数:
struct spwd *getspnam(const char *name)struct spwd *getspent()void setspent()void endspent()
第6章系统数据文件和信息总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。