Unix系统数据文件
2015-06-23 13:29
501 查看
UNIX系统的正常运行需要使用大量与系统有关的数据文件,例如口令文件/etc/passwd、组文件/etc/group、网路服务/etc/services、协议信息/etc/protocols、网络信息/etc/networks、主机数据/etc/hosts等。下面主要说明一下口令文件。
上面各字段以冒号分割,与“pwd.h”中定义的passwd结构对应:
加密口令字段包含了一个占位符x,在早期的UNIX系统版本中,该字段存放加密口令,将加密口令存放在一个人人可读的文件中构成了一个安全性漏洞,所以现在将加密口令存放在另一个位置,下文提到的阴影口令。
在某些系统上,查看口令文件可使用finger命令,编辑口令文件可使用vipw命令。
不同的类UNIX系统,存储加密口令的方式可能是不同的。
除了上文提到的数据文件,大多数UNIX系统还都提供了utmp和wtmp两个数据文件,前者记录当前登录进系统的各个用户,后者跟踪各个登录和注销事件。另外,系统标识信息、时间和日期数据也是必不可少的。
口令文件——
UNIX系统的口令文件在Linux上可能有下面一行:root:x:0:0:root:/root:/bin/bash
上面各字段以冒号分割,与“pwd.h”中定义的passwd结构对应:
/* The passwd structure. */ struct passwd { char *pw_name; /* Username. */ char *pw_passwd; /* Password. */ __uid_t pw_uid; /* User ID. */ __gid_t pw_gid; /* Group ID. */ char *pw_gecos; /* Real name. */ char *pw_dir; /* Home directory. */ char *pw_shell; /* Shell program. */ };
加密口令字段包含了一个占位符x,在早期的UNIX系统版本中,该字段存放加密口令,将加密口令存放在一个人人可读的文件中构成了一个安全性漏洞,所以现在将加密口令存放在另一个位置,下文提到的阴影口令。
在某些系统上,查看口令文件可使用finger命令,编辑口令文件可使用vipw命令。
阴影口令——
加密口令是经单向加密算法处理过的用户口令副本,在某些系统上,加密口令存放在另一个通常称为阴影口令的文件/etc/shadow中,“shadow.h”中定义了对应的spwd结构:/* Structure of the password file. */ struct spwd { char *sp_namp; /* Login name. */ char *sp_pwdp; /* Encrypted password. */ long int sp_lstchg; /* Date of last change. */ long int sp_min; /* Minimum number of days between changes. */ long int sp_max; /* Maximum number of days between changes. */ long int sp_warn; /* Number of days to warn user to change the password. */ long int sp_inact; /* Number of days the account may be inactive. */ long int sp_expire; /* Number of days since 1970-01-01 until account expires. */ unsigned long int sp_flag; /* Reserved. */ };
不同的类UNIX系统,存储加密口令的方式可能是不同的。
除了上文提到的数据文件,大多数UNIX系统还都提供了utmp和wtmp两个数据文件,前者记录当前登录进系统的各个用户,后者跟踪各个登录和注销事件。另外,系统标识信息、时间和日期数据也是必不可少的。
相关文章推荐
- strusts2_json
- 【Mysql】命令行
- Android体验高扩展艺术般的适配器
- Python下调用Linux的Shell命令
- debug - UITextField 输入完跳入下一field,按钮变化
- Android NDK开发之 opencv for android 问题总结
- Go学习1: Hello world
- H.264 中 SAD SATD及常见知识点
- 简单的java调C
- [数据结构]队列之顺序队列的类模板实现
- 2014校园招聘总结(转载)
- java 初始化顺序以及由此可能引发的构造方法的潜在问题。
- Oracle创建表语句(Create table)语法详解及示例
- 微信分享至朋友圈和朋友接口
- 几种常见排序算法
- The Pilots Brothers' refrigerator Poj2965
- .NET/MVC-ViewBag、ViewData、TempData区别
- 1347 - Tour
- Razor语法(五)
- log4net:保存自定义参数到数据库