|
用户和组的基本概念
用户分为三类
- 管理员(root) uid=0
- 系统用户(运行进程) uid>0, <=499
- 普通用户 uid >=500
用户和组需要的相关文件
- 用户账号信息: /etc/passwd
- 用户密码信息: /etc/shadow
- 组账号信息: /etc/group
- 组密码信息: /etc/gshadow, 组密码只有在newgrp 切换的时候有用
所有文件格式说明
/etc/passwd
1
2
3
4
5
| [iyunv@CentOS02 ~]# tail /etc/passwd
named:x:53:53::/home/named:/bin/bash
joice:x:504:505::/home/joice:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
alex:x:1234:1234::/home/alex:/bin/bash
|
以第一行named为例
named: 用户登录名
x: 密码占位符
53: uid
53: 基本组gid
空: 注释信息
/home/named:家目录
/bin/bash: 登录时启动的shell程序 (/sbin/nologin一般是系统用户登录)
/etc/shadow 1
2
3
| [iyunv@CentOS02 ~]# tail /etc/shadow
named:!!:16667::::::
harry:$6$lRR836lh$boqHmrq7ivCTjhK.oqjTs1qm.iYetyWL/91V6NDeIbP3dPo/E5nsBpPmcoWEm6ZOOo9yTxo20T8MvNnyRuXgs0:16667:0:99999:7:::
|
以第二行为例 harry: 用户登录名
$6$lRR836...: 密码MD5 128bit加密后结果
16667: 密码上一次修改时间,单位为天, 从linux元年1970开始计算
0:最短密码修改间隔
99999:密码最长修改间隔
7: 密码过期前7天提醒重设密码
下个空白: 过期后的宽限期
下个空白: 账号过期的时间,从linux元年计算
下个空白: 保留
/etc/group
1
2
3
| [iyunv@CentOS02 ~]# tail /etc/group
robbie:x:506:
apache:x:48:
|
以第一行为例
robbie: 组名
x:密码占位符
506: gid
最后一个空位: 这个组的成员
注意:组成员只是用户的附加组是这个组
/etc/gshadow
1
2
3
| [iyunv@CentOS02 ~]# tail /etc/gshadow
robbie:!::
apache:!::
|
以第一行为例
robbie: 组名
!: 密码, !因为没有设置密码
下个空白: 组管理员, 可以修改组密码和添加删除成员
下个空白:组成员.和/etc/group中的类似
用户和组的基本配置命令
useradd: 添加用户
groupadd: 添加组
usermod:修改用户
groupmod: 修改组
userdel: 删除用户
groupdel: 删除组
passwd: 设定用户密码
gpasswd: 设定组密码
chsh: 修改用户登录shell
chfn: 修改用户comment的详细内容
chage: 修改密码过期信息
newgroup: 临时切换当前用户的基本组
id:查看用户和组的信息
useradd 参数 用户名
参数说明
- -u: 设置uid
- -g: 基本组id
- -G: 附加组id
- -c: 注释
- -d: 家目录
- -s: 用户启动默认shell
- -M: 不用设置家目录
- -r: 自动创建系统用户, 不会添加家目录
说明: 使用-d时若目录已经自己建好了,会有系统警告,因为目录的权限不对, 默认的权限 rwx------ USERNAME USERNAME
groupadd 参数 组名
参数说明
usermod 参数 用户名
参数说明:
- -u: 设置uid
- -g: 基本组id
- -G: 附加组id
- -c: 注释
- -d: 修改家目录, 但不会自动创建 和 -m一起用可以创建家目录并且添加原有的文件
- -s: 用户启动默认shell
- -l : 修改登录用户名
- -L: 锁定用户
- -U: 解锁用户
说明:要添加附加组是用选项-a, 否则会覆盖所有已有的附加组
groupmod 参数 组名
参数说明:
userdel 用户名
参数
groupdel 组名
passwd
管理员: passwd 用户名
一般用户: passwd
说明:管理员可以重置所有用户密码, 一般用户只能重置自己密码.
重置密码快捷方式 echo newpassword | passwd stdin USER &> /dev/null
gpasswd
同上面passwd用法
chsh 用户名
chfn 用户名
chage 参数 用户名
参数:
- -d:修改"上次密码修改的时间"单位为天, 从1970 7月1日算
- -E: 修改密码过期时间, 单位为天, 从1970 7月1日算
- -I: 密码过期后依然活动的天数
- -l: 显示密码所有时间信息
- -m: 最小修改时间间隔
- -M: 做大修改时间间隔
- -W: 过期时前警告时间天数
newgrp 要设为基本组的组名
完成后用exit切换回去
|
|