文件名称:口令文件-鸿鹄论坛_华为认证h35-211-hcnp-access network题库
文件大小:18.16MB
文件格式:PDF
更新时间:2024-07-29 08:58:49
UNIX 环境高级编程 linux
第6章 系统数据文件和信息 6.1 引言 有很多操作需要使用一些与系统有关的数据文件,例如,口令文件 / e t c / p a s s w d和组文件 / e t c / g r o u p就是经常由多种程序使用的两个文件。用户每次登录入 U N I X系统,以及每次执行 l s - l命令时都要使用口令文件。 由于历史原因,这些数据文件都是A S C I I文本文件,并且使用标准I / O库读这些文件。但是, 对于较大的系统,顺序扫描口令文件变得很花费时间,我们想以非 A S C I I文本格式存放这些文 件,但仍向应用程序提供一个可以处理任何一种文件格式的界面。对于这些数据文件的可移植 界面是本章的主题。本章也包括了系统标识函数、时间和日期函数。 6.2 口令文件 U N I X口令文件 ( P O S I X . 1则将其称为用户数据库 )包含了表6 - 1中所示的各字段,这些字段 包含在< p w d . h >中定义的p a s s w d结构中。 注意,P O S I X . 1只指定p a s s w d结构中7个字段中的5个。另外2个元素由S V R 4 和4 . 3 + B S D支持。 表6-1 /etc/passwd文件中的字段 说 明 struct passwd 成员 P O S I X . 1 用户名 char *pw_name • 加密口令 char *pw_passwd 数值用户I D uid_t pw_uid • 数值组I D gid_t pw_gid • 注释字段 char *pw_gecos 初始工作目录 char *pw_dir • 初始s h e l l(用户程序) char *pw_shell • 由于历史原因,口令文件是 / e t c / p a s s w d,而且是一个文本文件。每一行包含表 6 - 1中所示的 7个字段,字段之间用冒号相分隔。例如,该文件中可能有下列三行: root:jheVopR58x9Fx:0:1:The superuser:/:/bin/sh n o b o d y : * : 6 5 5 3 4 : 6 5 5 3 4 : : / : stevens:3hKVD8R58r9Fx:224:20:Richard Stevens:/home/stevens:/bin/ksh 关于这些登录项请注意下列各点: • 通常有一个登录项,其用户名为 r o o t,其用户I D是0 (超级用户)。 • 加密口令字段包含了经单向密码算法处理过的用户口令副本。因为此算法是单向的,所