用户及用户组
用户存在的意义
系统底层安全的三A机制,只有有用户身份才能对用户身份进行资源分配和授权,这样才能确保系统资源得到合理分配从而保持系统稳定
用户组意义
是一个逻辑容器,不能直接被使用,意义是方便我们对一类用户进行归类并统一授权
查看用户 id命令
查看指定用户的id,相当于人的身份证号
u g(主组) G(属组) n
用户切换
用户查看
-
whoami显示当前用户
-
id 查看用户id信息
-
-u 查看用户的用户id
-
-g 查看用户主组id
-
-G 查看用户所有的组的id
-
-n 显示名称
用户id范围: 0-65535
0: Linux超级用户ID
1-999: Liunx系统自用ID
1000-65535: 用户级ID
!!! 以上ID设定规则都被记录在/etc/login.defs
用户切换
su - username
切换用户环境
- username 如果root ----> commonuser 不需要后者密码
- commonuser ----> root 需要密码
- commonuser ----> commonuser 需要密码
注意:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令
在一个shell中反复执行su命令会导致环境错乱
- su切换用户(只有当前的shell中用户身份得到切换)
su - westos - – 的作用是切换用户时切换当前用户所在系统的环境
用户涉及到的系统配置文件
- /etc/passwd用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell- /etc/group 组身份信息文件
组名称:组密码:组id:组的附加成员- /etc/skel/.* 用户环境配置文件模板
- /etc/shadow 用户认证信息文件
- /home/username 用户家目录
- /var/spool/mail/username 用户邮箱文件
用户和用户组建立及删除
- 监控用户建立的命令
watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home”
useradd username ##用户建立
-u id username
- 0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000-60000 用户级用户- /etc/login.defs 记录用户建立的默认规则
- -g id username ##主组i
- -G id username ##附加组id
- -d dir username ##指定用户家目录
- -M username ##建立用户时不建立家目录
- -c word username ##指定用户说明
- -s shell username ##指定用shell
- userdel -r username ##用户删除 -r 删除用户的系统配置文件
- groupadd groupname ##组建立
- -g id groupname ##指定组名称
- groupdel groupname ##组删除
usermod:当用户存在时,改变用户信息
- l 改变用户名称
- u 改变用户id
- g 改变主组id
- G 改变附加组id
- aG 追加附加组
- d 改变家目录指向
- md 改变家目录指向的同时改变家目录名称
- c 改变用户说明
- s 改变默认shell
用户认证信息
-
/etc/shadow 文件内容说明
-
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
-
查看密码状态
-
l 冻结账号
-
u解冻
-
e最后一次修改密码的时间改为0
这样,用户在登录系统时会被强制修改密码
chage -d 0 lee
-
n修改最短有效期
chage -m 1 lee
-
x修改最长有效期
chage -M 30 lee
-
w密码过期警告
chage -W 1 lee
-
i 账号非活跃期
chage -I 1 lee
-
账号认证到期时间
chage -E “2020-05-11” ##到2020-5-11这天账号会被冻结
用户权力下放
- sudo
普通用户想要创建用户,他本身是没有这个权限的,但是通过root用户权力下放,我们可以通过sudo命令来实现。 - 怎样实现
vim不提供语法检测
visudo提供语法检测
在文件的100行左右 注意代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1
需要密码
免密