Linux系统标识与鉴别-安全主体
安全主体
- 用户:身份标识(UserID)
- 组:身份标识(Group ID)
用户与组基本概念
- 文件必须有所有者
- 用户必须属于某个或多个组
- 用户与组的关系灵活(一对多、多对多等都可以)
- 根用户拥有所有权限
Linux系统标识与鉴别-帐号信息存储
信息存储
- 用户信息:
- ·/etc/passwd
- ·/etc/shadow
- 组信息:
- /etc/group
- /etc/gshadow
在Linux中系统中,并不认识帐号名称,认识的是帐号ID,帐号ID保存在/etc/passwd文件中;
在登录Linux主机时,在输入完帐号和密码时,Linux会先查找/etc/passwd文件中是否有这个帐号,如果没有则跳出,如果有的话,他会读取该帐号的user ID和group ID同时该帐号的根目录和shell也读了出来;
可以看到/etc/passwd中的信息如下:
一共有七项,每一项使用:分开,他们代表的意思如下:
(1)帐号名称:帐号名称由于对应用户ID,这个是系统默认用户root超级管理员,在同一个系统帐号名称是唯一的。
(2)密码:由于系统中/etc/shadow文件用于存放加密后的口令,所以在这里这一项是“x”来表示,如果用户没有设置口令,则该项为空。
(3)用户lD:不同的用户识别码不同,其中用户ID有以下几种:
- 0代表系统管理员(如果建立一个系统管理员,可以建立一个普通帐户,然后将该账户的用户1D改为0即可)。
- 1-500系统预留的1D,500以上是普通用户使用。
(4)组ID:用来规范群组,他与/etc/group有关。
(5)描述信息:这个字段几乎没有什么作用,只是用来解释这个帐号的意义。
(6)用户根目录:就是用户登录系统的起始目录,用户登录系统后将首先进入该目录。root用户默认的是/root,普通用户的是/home/用户名。
(7)用户登录shell:就是用户登录系统时使用的shel1l。
可以看到/etc/shadow中的信息如下:
- 由于passwd文件对于系统中的所有用户是可读的,口令比较容易破解,存在较大的安全隐患。
- 使用“shadow”文件保存密文的用户口令,“shadow”文件只有管理员用户才可以读取其中的内容。
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
(1)帐户名称:和passwd对应,和passwd的意思相同。
(2)密码:已经加密过的真正的密码,只能看到一些特殊符号。
如第一个字符为“*”表示此用户不用来登录,如不想让某账户登录可在前面加个星。
- $15表明是用MD5加密的
- $2$是用Blowfish加密的
- $5$是用SHA-256加密的
- $6$开头的,表明是用SHA-512加密的,
(3)上次改动密码的日期:这段记录了改动密码的最后日期。因为Linux计算日期的方法是以1970年1月1日作为1,1971年1月1日就是366,依次类推
(4)密码不可被改动的天数:必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入
(5)密码变更期期限快到前的警告期:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户:再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。
(6)帐号失效期:
(7)帐号取消日期:
(8)保留:最后一个字段是保留的,看以后有没有新功能加入。
/etc/group:
(1)群组名称:就是群组的名称了。
(2)群组密码:通常不需设定,很少使用群组登录。密码被记录在/etc/gshadow中。
(3)群组ID:也就是组ID了。
(4)支持帐号的名称:这个群组的所有帐号