linux系统中的用户管理

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 usernameuid 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 8000
 grouadd caiwu -g 8001
   grouadd jishu -g 8002
   
   ###create user####
  useradd -G shengchan,jishu westosuser
  useradd -u 8001 -g caiwu -G jishu lee
  useradd -M -s /sbin/nologin linux
  
 echo "westosadmin:x:0:0::/home/westosadmin:/bin/bash" >> /etc/passwd
 mkdir /home/westosadmin
 cp /etc/skel/.* /home/westosadmin
 
 echo westos | passwd --stdin westosuser
 echo westos | passwd --stdin lee
 echo westos | passwd --stdin linux
 echo westos | passwd --stdin westosadmin
 
 passwd -e westosuser
 passwd westosuser -x 30 -w 2
 passwd -e lee
 passwd lee -x 30 -w 2
 passwd -e linux
 passwd linux -x 30 -w 2
 passwd -e westosadmin
 passwd westosadmin -x 30 -w 2

对westosadmin用户进行sudo授权

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值