linux系统中的用户管理
- 1 用户及用户组存在的意义
- 1.1用户存在的意义
- 1.2用户组存在意义
- 2.用户及用户组在系统中的存在方式
- 3.用户切换
- 3.1用户查看
- 3.2用户切换
- 4.用户涉及到的系统配置文件
- 5.用户和用户组建立及删除
- 6.用户和用户组的信息管理
- 7.用户认证信息管理 (/etc/shadow)
- 8.用户权力下放
1 用户及用户组存在的意义
1.1用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
1.2用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称
必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
3.用户切换
3.1用户查看
whomai
查看当前用户
[westos@lzy Desktop]$ whoami
westos
id
查看用户id信息
id | 查看用户id信息 |
---|---|
-u | 查看用户的用户id |
-g | 查看用户主组id |
-G | 查看用户所有的组的id |
-n | 显示名称 |
[westos@lzy Desktop]$ id
uid=1000(westos) gid=1000(westos) groups=1000(westos),10(wheel)
[westos@lzy Desktop]$ id -g
1000[westos@lzy Desktop]$ id -gn 显示用户的组名字
westos
3.2用户切换
su - username
- #切换用户环境
username
1如果root 切换到commonuser 不需要后者密码
2commonuser 切换到 root 需要密码
3commonuser切换到commonuser 需要密码
注意
:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令
#在一个shell中反复执行su命令会导致环境错乱
4.用户涉及到的系统配置文件
/etc/passwd
用户身份信息文件
westos:x:1000:1000:westos:/home/westos:/bin/bash
1 :2: 3 :4 :5 : 6 : 7
#1.用户名称
#2.用户密码:
#3.用户id: 2*16 0-65535 0:root 1-999:systemuser 1000-65535:commonuser
#4.用户主组id
#5用户说明:
#6:用户家目录:
#7:用户默认shell
/etc/group
组身份信息文件
westos : x : 1000:组名称:组密码:组id:组的附加成员
添加附加组
vim /etc/group westos:x:1000:lee
[root@lzy ~]# id lee uid=1001(lee) gid=8889(lee) groups=8889(lee),1000(westos)
/etc/skel/.*
##用户环境配置文件模板
当前用户配置文件有问题:删掉配置文件,复制/etc/skel/.*
/etc/shadow
用户认证信息文件
/home/username
用户家目录
5.用户和用户组建立及删除
对应/etc/passwd 中的信息
/etc/login.defs 记录用户建立的默认规则
useradd username
##用户建立
useradd 参数 用户 | 含义 |
---|---|
-u id username | uid 2**16=0-65535 ;0 表示超级用户;1-200 系统预留id;201-999 系统用户;1000-60000 用户级用户;/etc/login.defs 记录用户建立的默认规则 |
-g id username | 主组id |
-G id username | 附加组id |
-d dir username | 指定用户家目录 |
-c word username | 指定用户说明 |
-s shell username | 指定用shell |
-M | 不建立家目录 |
建立如下用户,指定相应信息,对应/etc/passwd文件
useradd -M lzy
建立lzy用户不建立家目录
/sbin/nologin
useradd -G westos,root mp
建立用户时,多个附加组,用逗号隔开
userdel -r username
##用户删除-r 删除用户的系统配置文件
不用-r,需要手动删掉用户的家目录
[root@lzy ~]# id lee
uid=1001(lee) gid=8889(lee) groups=8889(lee)
[root@lzy ~]# userdel -r lee 删除用户
[root@lzy ~]# id lee
id: ‘lee’: no such user
[root@lzy ~]#
groupadd groupname
组建立
-g id groupname
指定组名称
groupdel groupname
组删除
6.用户和用户组的信息管理
usermod
-l #更改用户名称
-u #更改用户id
-g #更改主组id
-G #更改用户附加组身份
-aG #添加用户附加组身份
-c #更改用户说明
-d #更改家目录指向
-md #更改家目录指向同时更改家目录名称
-s #更改默认shell
-L #冻结账号
-U #解锁
usermod -c "" username"
清空说明
G
andaG
usermod -G "" username
删除所有附加组
[root@lzy ~]# watch -n 1 "tail -n 3 /etc/passwd ;ls -l /home"
watch -n 1 一秒执行一次
watch command 默认两秒一次
date;ls 分号。两条命令一起执行
-d
and -md
groupmod -g
更改用户组id
7.用户认证信息管理 (/etc/shadow)
vim /etc/shadow
lee: :18547:0:99999:7: : :
1 2 3 4 5 6 7 8 9
[root@lzy ~]# watch -n 1 "tail -n 3 /etc/shadow ;passwd -S lee"
每秒监控/etc/shadow 文件的后三行,及lee用户的的密码状态
1.用户名称
passwd -S lee
查看密码状态
2.用户加密字符
/etc/shadow 密码认证
加密字符:哈西算法
/dev/random 加密设备 加密字符串从里面取
ll /dev/random 字符设备
更改密码
passwd lee
只有root可以执行
echo 123 | passwd --stdin lee
非交互式改密码,可在脚本中自动运行
passwd
普通用户改密码
冻结认证
rh7中passwd -l lee 的冻结程度更强,!!,usermod !,不能互相直接解锁
rh8中两个可以互相直接解锁
passwd -l lee
usermod -L lee
解锁账号认证
解锁了之后,账号可以继续使用
passwd -u lee
usermod -U lee
密码删除
passwd -d lee
3密码使用天数
*从1970-1-1算其到今天的时间
修改默认使用时间为0账号必须改密码才能登陆系统
passwd -e lee
chage -d 0 lee
chage -d 数字 用户
4密码最短有效期
lee用户在1天内不能改密码
passwd -n 1 lee
chage -m 1 lee
5.密码最长有效期
40天内lee用户必须更新密码否则会被冻结
passwd -x 40 lee
chage -M 30 lee
6.密码过期警告
账号过期前警告时间
passwd -w 2 lee
chage -W 1 lee
7.认证非活跃天数
账号认证最大时间超过后还能用多久
passwd -i 2 lee
chage -I 1 lee
8.账号认证到期时间
到2020-11-11这天账号会被冻结
chage -E "2020-11-11" lee
9.未启用功能
8.用户权力下放
在系统中普通用户时无法执行系统管理命令的 如果需要普通用户执行系统管理动作那么需要 root用户来进行授权
普通用户授权方式 “sudo”
作用:
可以使普通用户使用指定的用户身份呢运行命令
授权方法:
visudo
此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右
代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1
westos用户 在lzy.wesots.com 使用超户免执行useradd 和 userdel
westos lzy.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
test
在系统中完成以下用户操作
1. 建立用户组 shengchan,caiwu,jishu 并满足以下要求
#shengchan组id为8000
#caiwu组id 为8001
#jishu组id为8002
2.建立westosuser,linux,lee,westosadmin等用户完成以下要求
# westos用户的附加组为shengchan和jishu
#lee的主组为caiwu,附加组为jishu,lee的uid和gid一致
#linux为系统账号不能直接被操作者使用
#westosadmin用户不属于以上三个部门,但是可以在系统中自由的管理用户 (sudo) ,
vim /etc/passwd
uid gid 改为0
3.
#以上用户密码均为westos,并要求用户首次登陆时强制修改密码
#设定以上用户密码必须在30天内进行修改,并在过期2天发出警告
####creategroups####### grouadd shengchan -g 8000grouadd caiwu -g 8001grouadd jishu -g 8002###create user####useradd -G shengchan,jishu westosuseruseradd -u 8001 -g caiwu -G jishu leeuseradd -M -s /sbin/nologin linuxecho "westosadmin:x:0:0::/home/westosadmin:/bin/bash" >> /etc/passwdmkdir /home/westosadmincp /etc/skel/.* /home/westosadminecho westos | passwd --stdin westosuserecho westos | passwd --stdin leeecho westos | passwd --stdin linuxecho westos | passwd --stdin westosadminpasswd -e westosuserpasswd westosuser -x 30 -w 2passwd -e leepasswd lee -x 30 -w 2passwd -e linuxpasswd linux -x 30 -w 2passwd -e westosadminpasswd westosadmin -x 30 -w 2
对westosadmin用户进行sudo授权