口令文件-鸿鹄论坛_华为认证h35-211-hcnp-access network题库
第6章系统数据文件和信息
6.1引言
有很多操作需要使用一些与系统有关的数据文件,例如,口令文件/etc/passwd和组文件/etc/group就是经常由多种程序使用的两个文件。用户每次登录入UNIX系统,以及每次执行ls -l命令时都要使用口令文件。由于历史原因,这些数据文件都是ASCII文件,并且使用标准I/O库读这些文件。但是,对于较大的系统,顺序扫描口令文件变得很花费时间,我们想以非ASCII文本格式存放这些文件,但仍向应用程序提供一个可以处理任何一种文件格式的界面。对于这些数据文件的可移植界面是本章的主题。本章也包括了系统标识函数、时间和日期函数。
6.2口令文件
UNIX口令文件(POSIX.1则将其称为用户数据库)包含了表6-1中所示的各字段,这些字段包含在
表6-1 /etc/passwd文件中的字段说明
| struct passwd成员 | POSIX.1 |
| --- | --- |
| 用户名 | char *pw_name |
| 加密口令 | char *pw_passwd |
| 数值用户ID | uid_t pw_uid |
| 数值组ID | gid_t pw_gid |
| 注释字段 | char *pw_gecos |
| 初始工作目录 | char *pw_dir |
| 初始shell(用户程序) | char *pw_shell |
由于历史原因,口令文件是/etc/passwd,而且是一个文件。每一行包含表6-1中所示的7个字段,字段之间用冒号相分隔。例如,该文件中可能有下列三行:
root:jheVopR58x9Fx:0:1:The superuser:/:/bin/sh
nobody:*:65534::/:/sbin/nologin
stevens:3hKVD8R58r9Fx:224:20:Richard Stevens:/home/stevens:/bin/ksh
关于这些登录项请注意下列各点:
-
通常有一个登录项,其用户名为root,其用户ID是0 (超级用户)。
-
加密口令字段包含了经单向密码算法处理过的用户口令副本。因为此算法是单向的,所以无法从加密口令中恢复出原始口令。
更多关于UNIX系统数据文件和信息的内容,请参考以下链接: