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()

转载于:https://www.cnblogs.com/buptlyn/p/4142406.html

第6章系统数据文件和信息总结相关推荐

  1. APUE第6章 系统数据文件和信息

    6.1 引言 UNIX系统的正常运作需要使用大量与系统有关的数据文件,例 如,口令文件/etc/passwd和组文件/etc/group就是经常被多个程序频繁 使用的两个文件.用户每次登录UNIX系统 ...

  2. 第6章 系统数据文件和信息

    口令文件 用户: 基础密码文件:/etc/passwd 密码文件:/etc/shadow 组: 基础密码文件:/etc/group 密码文件:/etc/gshadow /etc/passwd 内容:用 ...

  3. 6.1 引言-系统数据文件和信息

    6.1 引言-系统数据文件和信息 Unix系统的正常运行需要使用大量与系统有关的数据文件,例如,口令字文件/etc/passwd和组文件/etc/group就是经常由多种程序使用的两个文件.用户每次登 ...

  4. 《unix环境高级编程》笔记4——系统数据文件和信息

    文章目录 系统数据文件和信息 口令文件 获取口令文件 getwpuid getpwnam 阴影口令 组文件 附属组ID 查看附属组ID 其他文件 登录账户记录: 系统标识 uname gethostn ...

  5. Unix环境高级编程-系统数据文件和信息

    unix口令文件/etc/passwd 包含了下表所示的字段: 系统定义了两个获取口令文件项的函数,在给出用户登录名或数值用户ID后,这两个函数能够查看相关项. struct passwd *getp ...

  6. linux系统数据文件和信息--unix环境高级编程读书笔记

    linux系统中的数据文件有很多,在这一章里介绍的主要内容是和系统有关的一系列文件,包括passwd,shadow,group,utmp,wtmp以及一些系统的相关信息和时间的相关操作. 1.pass ...

  7. UNIX再学习 -- 系统数据文件和信息

    UNIX 系统的正常运作需要使用大量与系统有关的数据文件,例如,口令文件 /etc/passwd 和组文件 /ect/group 就是经常被多个程序频繁使用的两个文件.用户每次登陆 UNIX 系统,以 ...

  8. UNIX环境高级编程——系统数据文件和信息

    6.1 引言 UNIX系统的正常运行需要使用大量与系统有关的数据文件,这些文件都是ASCII文本文件,并且使用标准I/O库读这些文件. 6.2 口令文件 UNIX口令文件是/etc/passwd,每一 ...

  9. 《UNIX环境高级编程》六系统数据文件和信息读书笔记

    UNIX系统的正常运作需要使用大量与系统有关的数据文件,例如,口令文件/etc/passwd和组文件/etc/group等. 1.口令文件 口令文件的各字段包含在pwd.h>中定义的passwd ...

最新文章

  1. Linux新增开放端口
  2. 【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )
  3. CSS 公共样式分享
  4. 后台执行UNIX/Linux命令和脚本的五种方法
  5. SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型试读版
  6. ioctl之FIONREAD
  7. 云原生生态周报 Vol. 2
  8. centos搭建rsync服务!
  9. 快速上手,教你开发第一个基于 AutoML 的量化投资决策应用
  10. 安卓机+数据线,带你开发部署人脸识别应用
  11. 深度学习技术干货免费听,AirPods2任性抽...520有场AI峰会不可错过!
  12. 白话 Golang 协程池
  13. 机器学习7-主成分分析
  14. 车内看车头正不正技巧_交规理论最全技巧口诀,学会后100%过关!
  15. 表白代码(纯干货),送给你爱的人
  16. 1的阶乘加到20的阶乘
  17. [Netlist29-358] Reg ‘Counter[7]‘ of type ‘FDCPE’ cannot be timed accurately. Hardwarebehavior may be
  18. 转载篇:RabbitMQ安装步骤和出现Plugin configuration unchanged.和出现1067系统错误.总结
  19. leet198.打家劫舍
  20. 多种文字翻译软件-翻译常用软件

热门文章

  1. Java中如何组装字符串
  2. 转到Servlet出现500型错误
  3. android-hotfix(QQ空间思路)浅析
  4. [转载]Lua脚本与C++交互
  5. 悄悄地进村,打枪的不要——KyuuBackground(原 ItaBackgroundKyuu)改造完成
  6. 七夕关爱单身狗程序猿:4本书给你一个完整的脱单秘籍
  7. python管理系统web版_【程序源代码】python web 管理系统开发框架
  8. 拜托!这才是分布式系统CAP的正确打开方式!
  9. 低级程序员才喜欢写注释!
  10. 都说变量有七八种,到底谁是 Java 的亲儿子