1. 使用者标识符:UID,GID
- GID: Group ID
- UID: User ID
2. 使用者账号
login时:
1. 在/etc/passwd 判断是否有账号
2. 如果有将UID,GID(/etc/group)读出来
3. 前面正确后,linux进入/etc/shadow,核对密码表
4. 登录成功
/etc/passwd 文件结构
1. 每一行代表一个账号
2. 有很多系统运行必须的账号
root@871554b5b066:/# head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
3. 每一行用:隔开。共有七个分别是
1 . 账号名称
2 . 密码
3 . UID
* id :0,代表系统管理员
* id:1~999,保留给系统用的id
* id:1000·60000,给一般使用者使用的
4 . GID
5 . 用户信息说明栏
6 . 家目录
7 . Shell
/etc/shadow 文件结构
root@871554b5b066:/# head -n 4 /etc/shadow
root:$6$gCrhiK4l$jBgjXjDUFspgRp.5gXH3j4XSoFbw6w90Gn9J.mJebR698hLw1PNZPxo/bG.njd3UM5J.9G9sRhK9KJhsEGHIY1:17767:0:99999:7:::
daemon:*:17541:0:99999:7:::
bin:*:17541:0:99999:7:::
sys:*:17541:0:99999:7:::
- shadow 同样以: 作为分隔符,总共9个字段
- 账号名称
- 密码(经过编码加密)
- 最近更改密码的日期(linux 日期的时间是以1970年1月1日作为1而累加的日期)
- 密码不可被更改的天数(与3字段相比)
- 密码需要重新变更的天数
- 密码需要变更期限前的警告天数
- 密码过期后的账号宽限时间(密码失效日)
- 账号失效日
- 保留
- 一般用户密码忘记了:请系统管理员修改
- root密码忘记了
- 重启进入单人模式,以passwd修改密码
- LiveCD 开机挂在根目录,将/etc/shadow 里面的root密码字段清空
3. 关于群组:有效与初始群组,groups,newgrp
/etc/group 文件结构
root@871554b5b066:/# head -n 4 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
- 组名
- 群组密码
- GID
- 此群组支持的账号名称
- 有效群组和初始群组
- /etc/passwd 中的GID,就是初始群组
- groups命令第一个输出的群组即为有效群组
- newgrp 有效群组的切换
- 前提是你要切换的群组是你已经支持的群组
- /etc/gshadow
root@871554b5b066:/# head -n 4 /etc/gshadow root:*:: daemon:*:: bin:*:: sys:*::
- 组名
- 密码栏
- 群组管理员的账号
- 有加入该群组所支持的所属账号
账号管理
- 新增与移除使用者:useradd,相关配置文件,passwd,usermod,userdel
- useradd
* [root@study ~]# useradd [-u UID] [-g 初始群组] [-G 次要群组] [nM]\
> [-c 说明栏] [-d 家目录的绝对路径] [-s shell] 使用者账号名
选项与参数:
-u : 后面接UID,是一组数字,直接指定特定的UID给这个账号
-g : 后面接的那个组名就是initial group(初始群组)
-G : 后面接的组名则是这个账号还可以加入的群组
-M : 强制!不要建立用户家目录(系统账号默认值)
—m : 强制!要建立用户家目录(一般账号默认值)
-c : 这个就是/etc/passwd 的第五栏的说明内容,可是随便设定
-d : 指定某个目录成为家目录,而不要使用默认值,务必使用绝对路径!
-r : 建立一个系统的账号,这个账号的UID会有限制
-s : 后面接一个shell,若没有指定则预设是/bin/bash
-e : 后面接一个日期,格式为:[YYYY-MM-DD] 此项目可写入shadow的第八字段
-f : 后面接shadow的第七字段项目,指定密码是否会失效,0为立刻失效,-l为永远不失效
[root@study ~]# useradd lusiwei
[root@study ~]# ll -d /home/lusiwei
默认会建立家目录,且权限为700
-
useradd 参照文件
- useradd -D
useradd 默认值参考这个文件 : /etc/default/useradd
-
passwd
[root@study ~]# passwd [--stdin] [账号名称]
[root@study ~]# passwd [-l] [-u] [--stdin] [-S] \[-n日数] [-x 日数] [-w 日数] [-i 日期] 账号
选项与参数:
--stdin: 可以有过凯子前一个管线的数据,作为密码输入
-l : 是lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效
-u : 与-l相对是unlock的意思
-S : 列出密码相关参数
-n : 后面接天数,shadow的第4字段
-x : 后面接天数,shadow的第5字段
-w : 后面接天数,shadow的第6字段-i : 后面接日期,shadow的第7字段
5 .--stdin 修改密码[root@study ~]# echo "abc520" | passwd --stdin lusiwei
6 . chage
选项与参数: -l : 列出该账号详细的密码参数
- usermod