Linux学习 -单元5-Linux用户管理

1.用户及用户组存在的意义

1>用户存在的意义

系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合。

身份 acccount
授权 author
认证 auth
3A机制,3A机制组成系统中最底层的安全架构

2>用户组存在的意义

用户组是一个逻辑容器
对用户进行归类和统一授权

2.用户及用户组在系统中的存在方式

用户就是/etc/passwd文件中的一行字符
id+用户名称  查看用户,必须要记录到文件中用户才能存在
      如果用户不存在,可以在passwd中编辑添加

     在这里插入图片描述
在这里插入图片描述
用户组的存在方式就是/etc/group文件中的文件中的一行字符
在这里插入图片描述

3.用户切换

1>用户查看

whoami ##查看当前用户
id ##查看用户id信息
id -u ##查看用户的用户id
id -g ##查看用户的主组id
id -G ##查看用户的所有组id
id -G -n ##查看用户的所有组的名称
id -n ##查看名称(与以上字符搭配进行使用)

在这里插入图片描述

2>用户查看

su - username
- ##切换用户的环境
在这里插入图片描述
username ##如果root---->commonuser 不需要后者密码
##如果commonuser—>root 需要后者密码
##如果commonuser—>commonuser 需要后者密码
注意:在做用户切换时当使用完毕,用户身份要及时退出

在这里插入图片描述 注意:不要在一个shell中反复执行su命令,在一个shell中反复执行su命令会导致环境pwd错乱

4.用户涉及到系统配置文件

/etc/passwd ##用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell

在这里插入图片描述
/etc/group   组身份文件
组名称:组密码:组id:组的附加成员

在这里插入图片描述

/etc/skel/.   ##用户环境配置文件模板,建立用户时这里面所有文件都会复制到用户家目录
/etc/shadow    ##用户认证信息文件
/home/username ##用户家目录
*

5.用户及用户组的建立及删除

监控用户建立的操作:
打开一个shell,改到root用户,做监控界面,
输入watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo ===;ls -l /home” 每秒钟执行一次
在这里插入图片描述
在这里插入图片描述
再打开一个shell,进行用户及用户组的处理
1>.useradd 用户建立
useradd username ###创建用户
useradd -u id username ###指定用户的用户id,uid范围 0-65535,0表示超级用户,1-200系统预留id,201-999系统用户,1000-60000用户级用户,/etc/login.defs 记录用户建立的规则
useradd -g id username ### 指定用户主组id
useradd -G id username ### 指定用户附加组id
useradd -d dir username ###指定用户的家目录
useradd -c word username ###指定用户的说明文字
useradd -s shell username ###指定用户默认的shell
useradd -M username ##不创建用户的家目录
在这里插入图片描述
在这里插入图片描述
2>.userdel 用户删除
userdel -r username  ###用户删除
           ###-r 删除用户系统配置文件
3>.groupadd 用户组的建立
groupadd groupname ###建立用户组
gruopadd -g groupmane ###指定用户组的组id
4>.groupdel 用户组的删除
groupdel gruopname ###删除用户组

6.用户和用户组的信息管理

usermod [ ] 用户 更改用户信息
    -l 更改用户名称
    -u 更改用户id
    -g 更改主组id
    -G 更改用户附加组的身份
    -aG 添加用户附加组的身份
    -c 更改用户说明
    -d 更改家目录指向
    -md 更改家目录指向同时更改家目录名称
    -s  更改默认shell
    在这里插入图片描述
在这里插入图片描述
groupmod -g 更改用户组id

7.用户认证信息

监控:watch -n 1 “tail -n 3 /etc/shadow;echo=====;passwd -S 普通用户名”

1>.用户名称
passwd -S 普通用户名 ###查看用户的密码状态
在这里插入图片描述
2>.用户加密字符
更改密码
passwd 用户名 ###只有root可以执行
passwd  ###普通用户改密码,输入原始密码和新密码,8位以上数字字母组合
在这里插入图片描述
冻结认证
passwd -l 用户名   ###冻结账号认证
passwd -u 用户名  ### 解锁账号认证
在这里插入图片描述
passwd -d 用户名 ###用户密码删除
2>.密码使用天数
从1970年1月1日算起到今天的时间
passwd -e 用户名  ###修改默认使用时间为0
chage -d 0 用户名  ###修改默认使用时间为0,账号必须修改密码
密码最短有效期
passwd -n 1 用户名  ####1天不能改密码,普通用户
chage -m 1 用户名 
密码最长有效期
passwd -x 40 用户名  ###40天内必须改密码,不然冻结
chage -M 40 用户名
密码过期警告
passwd -w 2 用户名  ###账号过期前警告时间为2天
chage -W 1 用户名
认证非活跃天数
passwd -i 2 用户名  ###账号认证最大时间超过后还能用2天
chage -I 1用户名 
账号到期时间
chage -E “2020-05-11”
在这里插入图片描述
在这里插入图片描述
最行1位未启用
8、用户权力下放
在系统中普通用户是无法执行系统管理命令的,如果需要普通用户执行那么需要root用户来授权。
普通用户授权方式“sudo”,可以使普通用户使用指定的用户身份运行命令
授权方法:visudo
此命令作用是编辑 /etc/sudoers并提供语法检测(注意代码规范性,在文件的100行左右,set nu可以显示文件行数)
username hostname=(newusername)[NOPASSWD:] /command, /command1
示例:编辑visudo文件
实现localhost.localdomain主机=(用超级用户身份)免密执行useradd命令
用户名 localhost.localdomain=(root) NOPASSWD: /usr/sbin/useradd

test
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41537102/article/details/109075093