与账号有关的文件:/etc/passwd,/etc/shadow./etc/group,/etc/gshadow
每个登陆的用户至少会有两个ID,一个是用户ID,即UID,另一个是用户组ID,即GID.
用户账号登陆过程:
1.先找寻/etc/passwd里面是否有你输入的账号。如果没有则跳出,如果有的话则将该账号对应的UID与GID读出来,另外,该账号的主文件夹与shell也一起读出。
2.核对密码表!linux会进入/etc/shadow里面找出对应的账号与UID,然后核对以下你刚才输入的密码与里面的密码是否相符。
3.如果一切OK,就进入shell控管阶段。
/etc/passwd文件结构
每一行用“:”隔开,共七个字段:
1.账号名称
2.密码,密码放到/etc/shadow里了,因此这里显示一个x。
3.UID,就是用户标示符。
0(系统管理员)
1~499(系统账号),1~99由系统自行创建,100~499,用户有系统账号需求时可以使用过的账号UID。
500~65535(可登陆账号)
4.GID
5.用户信息说明列,用来解释这个账号的意义。用finger时可提供很多信息。
6.主文件夹。root在 /root,一般用户为 /home/yourname
7.shell
/etc/shadow文件结构:存放密码,权限得是-rw-r--r--.
共有九个字段,解释如下:
1.账号名称
2.密码,经过加密了。若改变此字段的长度,则会让密码暂时失效。因此,可以在前面加上“!”。
3.最近更动密码的日期。日期是以1970年1月1日作为1而累加的日期。
要知道某个日期的累加日数,用如下程序计算:
#echo $(($(data --data="2008/09/04" +%s)/86400+1))
86400为一天的秒数,+%s计算自1970/01/01来的总秒数,系统只支持整数,所以得加1.
4.密码不可被改动的一天数(与第三个字段相比)
5.密码需要重新更改的天数(与第三个字段相比)
6.密码需要更改期限前的警告天数(与第五个字段相比)
7.密码过期后的账号宽限时间(密码失效日)(与第五个字段相比)
8.账号失效日期:跟第三个字段一样,自1970年计算,失效后,不关5、6、7字段如何设置都没用。
9.保留。
/etc/group文件结构
四个字段,含义如下:
1.用户组名称
2.用户组密码,也是放到/etc/gshadow里面去了。
3.GID
4.此用户组支持的账号名称
有效用户组与初始用户组:
初始用户组就是用户创建账号时自动分配的组,有效用户组就是用户当前有效的组。
#groups 有效与支持用户组查看,第一个即为当前有效用户组
#newgrp 组名 有效用户组的切换,切换的用户组必须是你已经有支持的用户组
newgrp:这个命令可以更改目前用户的有效用户组,而且是另外以一个shell来提供这个功能,即这个用户目前是以另外以个shell登陆的。虽然用户环境设置不会有影响,但用户的“用户组权限”会被重新计算。如果你看要回到原本的shell,请输入 exit.
要加入一个组有两种办法:
1.让root用usermod帮助你加入;
2.让用户组管理员以gpasswd帮你加入。
/etc/gshadow文件结构
四个字段,含义如下:
1.用户组名。
2.密码列,同样,开头为!表示无合法密码,所以无用户组管理员。
3.用户组管理员的账号。
4.该用户组的所属账号,与/etc/group内容相同。
阅读(973) | 评论(0) | 转发(0) |