1 用户
1.1 资源访问模型
- 进程(携带uid、gid、gids)—> 资源(uid、gid)
- 三种资源访问类型:
- 拥有者:user
- 所属组:group
- 其他人:other
1.2 用户属性
- UID:用于区分不同用户
- 0:root用户
- 非0:普通用户和系统用户
- GID:基本组。每个用户在诞生之时都会有一个基本组(亲爸),若未指定则基本组与用户同名
- GIDs:附加组。除了基本组之外,用户可以加入其他的组(干爸),这样就可以使用组成员的身份访问组内资源
- HOME:用户的家目录,默认位于
/home/USERNAME
,root用户的家目录为/root
- MAIL:邮箱文件,默认位置为
/var/spool/mail/USERNAME
- SHELL:用户登录时使用的shell,默认为
/bin/bash
1.3 用户管理命令
- 创建用户
useradd
- 用户创建时,会自动创建家目录和邮箱文件,并从
/etc/skel
目录拷贝文件到家目录(新建用户默认环境文件) -u UID
:指定UID-g GID
:指定GID,不指定则创建与用户同名的组-G GIDs
:指定附加组-d HOME
:指定用户家目录-s SHELL
:指定登录使用的shell/bin/bash
/sbin/nologin
:一般用于系统用户,不允许登录
- 用户创建时,会自动创建家目录和邮箱文件,并从
- 删除用户
userdel
-f
:强制删除用户-r
:同时删除用户及用户家目录
- 修改用户属性
usermod
-d HOME
:修改用户家目录-g GID
:修改用户所属组-G GIDs
:修改用户所属附加组-l USERNAME
:修改用户名-L
:锁定用户密码,使密码无效-s SHELL
:修改用户登录使用的shell-u UID
:修改用户ID-U
:解除密码锁定
- 修改文件所属主和属组
chown
chown user[:group] FILE…
-R
:递归修改
- 查看用户信息
id
id [USERNAME]
:缺省表示查看当前用户
- 切换用户
su
-l
:切换用户的同时进入该用户家目录-s SHELL
:指定登录使用的shell
1.4 用户配置文件
-
/etc/passwd
:存放系统中所有用户和用户的主要信息,所有用户都可以读取root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ...
- 用户名称
- 密码标志位 ×
- UID
- GID
- 用户说明,无特殊作用
- 用户家目录
- 登录使用的SHELL
-
/etc/shadow
:存储用户的密码信息,只有root用户拥有读权限root:$6$OHA2am2Y$vvbfULTnfG6wF6L2o/bhrES/goQX5LsQzXO8zw.le/uWqcJq0BR1AwT6fQ02gN5gop1oC1gbuii3yb/8nVmhJ/:18314:0:99999:7::: bin:*:17110:0:99999:7::: daemon:*:17110:0:99999:7::: ...
-
用户名称
-
加密密码:使用SHA5 12散列加密算法,若该字段为
*
或!!
,则表示该用户无密码 -
最后一次修改密码的时间,从1970年1月1日开始算起
-
最小修改时间间隔
-
密码有效期
-
密码需要变更前的警告天数
-
密码过期后的宽限天数
-
用户失效时间
-
保留位
-
2 组
2.1 组管理命令
- 创建组
groupadd
-g GID
:指定工作组的id-r
:创建系统工作组,系统工作组的GID小于500
- 删除组
groupdel
- 更改组
chgrp
-R
:递归处理
2.2 组配置文件
-
/etc/group
:用户组的所有信息root:x:0: bin:x:1: daemon:x:2: ...
- 组名称
- 组密码标志位 ×
- GID
- 组中的附加用户
-
/etc/gshadow
:组密码信息root::: bin::: daemon::: ...
- 组名称
- 组密码
- 组管理者
- 组中的附加用户
3 密码
3.1 密码管理命令
- 修改用户密码
passwd
passwd USERNAME
- 无交互式修改密码:
echo PASSWD | passwd –stdin USERNAME
3.2 密码配置文件
- 用户密码配置文件
/etc/shadow
- 组密码配置文件
/etc/gshadow