一、passwd文件结构
- 账号名称
- 密码
- UID
- GID
- 用户信息说明列
- 主文件夹
- Shell
- 账号名称
- 密码
- 最近更改密码的日期
- 密码不可被更改的天数
- 密码需要重新更改的天数
- 密码需要更改期限前的警告天数
- 密码过期后的账号宽限时间
- 账号失效日期
- 保留
- 用户组名称
- 用户组密码(很少设置)
- GID
- 该用户组支持的账号名称
- 用户组名
- 密码列
- 用户组管理员账号
- 该用户的所属账号
- 初始用户组:/etc/passwd中GID
- 有效用户组:
- 查看自己支持的用户组groups
- newgrp进行有效用户组切换
- 一般用户 =====è root用户即可更改,不需要知道原密码
- root密码 =====è 各种方法进入Linux系统修改、
/etc/shadow文件结构
/etc/group文件结构
/etc/gshadow文件结构
用户组之间的切换(初始用户组和有效用户组)
第一个即是有效用户组
用户密码忘记了怎么办?
二. 账号管理
- 新增用户
- 设置密码passwd
- 更改用户账号信息
- 删除用户
- 用户功能
- 用户组管理
- 用于切换用户的su
- 使用 - 执行login-shell读取变量
- 使用root切换用户,不用输入密码
- 不需要知道被切换用户密码的sudo
- 用户账号
- 任何位置
- 任何身份
- 任何命令
- 新建所需要的用户组 vim /etc/group
- 将/etc/group与/etc/shadow同步 grpconv
- 新建账号的各个属性 vim /etc/passwd
- 将/etc/passwd于/etc/shadow同步 pwconv
- 新建该账号的密码 passwd accountname
- 新建用户主文件夹 cp -a /etc/skel /home/accountname
- 更改用户主文件夹的属性 chown -R accountname.group /home/accountname
useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户账号名
-M 不用穿件用户主文件夹
-m 要创建用户主文件夹(默认)
-r 创建一个系统账号
指定uid以及存在的用户组
创建一个系统账号
useradd参考文件/etc/default/useradd /etc/login.defs /etc/skel/*(使用useradd命令时的默认值)
GROUP=100
centos使用的是私有用户组机制,默认不参考这个值。
INACTIVE=-1
密码不会失效
EXPIRE=
账号失效日期
SKEL=/etc/skel
主文件夹中的内容是这个目录下复制过去的
/etc/login.defs
passwd [--stdin] [-l] [-u] [-S] [-n 日数] [-x 日数] [-i 日期] 账号
-l 使密码失效
-u unlock的意思
-S 列出账号相关参数
passwd不加账号,是修改自己的密码。
chage 显示密码更详细参数
使用chage使新增用户登陆后必须更改自己的密码:
1 |
usermod [-cdegGlsuLU] username |
-d 主文件夹
-g 初始用户组
-l 修改用户名称
-u UID数据
-L 密码冻结
-U 去掉冻结
1 |
userdel [-r] username |
-r 连通主文件夹一起删除
finger [-s] username
-s 横排输出(部分数据)
chfn [-foph] username
-f 完整姓名
-o 办公室房间号
-p 办公室电话号
-h 家里电话号
chsh [-ls]
-l 列出可用shell
-s 修改自己的shell
id [username]
查看username的UID GID等相关信息
用户组相关的文件/etc/group /etc/gshadow
groupadd [-g gid] [-r] 用户组名
-g 指定GID
-r 新建系统用户组
groupmod [-g gid] [-n group_name] 用户组名
-g 修改GID
-n 修改组名
groupdel [groupname]
删除用户组
gpasswd [-A user1,...] [-M user3,...] goupname
gpasswd [-rR] groupname
-A:将后面的用户设置为组管理员
-M: 将某些账号加入这个用户组
-r:将groupname的密码删除
-R : 将groupname密码栏失效
三. 用户权限切换su 与 sudo
su [-lm] [-c 命令] [username]
- : 使用login-sehll的变量来登录系统
-l : 添加预切换的环境变量
-c : 指定一次命令
注意:
sudo [-b] [-u 新用户账号]
-b : 让后续命令交给系统自动执行
-u : 预切换用户
判断用户是否具有sudo运行的sudo文件 /etc/sudoers
用户组前面要加%
免密码设置:
一些其他的限制:限制命令、设置别名等不再赘述。
四. 其他用户相关的命令
查询用户w,who,last,lastlog
用户对谈 write,mesg,wall
五. 手动创建用户的步骤