LINUX中的用户管理

一、用户及用户组存在的意义

1.用户存在的意义:

  • 系统资源有限,合理的分配资源,控制单个用户对系统资源的使用
  • 保护用户资源的安全;(3A机制组成了系统中最底层的安全架构)
    1.身份 account
    2.授权 authhor
    3.认证 auth

2.用户组存在的意义

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

二、用户及用户组在系统中的存在方式

id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
在这里插入图片描述
用户组存在的方式就是/etc/group 文件中的一行字符
在这里插入图片描述

三、用户切换

1.用户查看

`whoami`       ##查看当前用户
 id 				##查看用户id 信息
    	id +username   ##查看用户id信息
	    -u username     ##查看用户的用户id
	   -g username      ##查看用户主组id
       -G username      ##查看用户所有的组的id
	   -n username      ##显示名称
	   -a username     ##显示所有id信息

在这里插入图片描述
用户id范围(2的16次方个):0-65535;ID设定规则都被记录在/etc/login.defs
0: ##Linux超级用户ID
1-999: ##Liunx系统自用ID
1000-65535: ##用户级ID

2.用户切换

su username ##只切换用户身份
su - username ##切换用户身份及环境
超级用户切换至其他用户不需要密码,其他用户切换用户环境时都要输入密码
注意:在做用户切换时,使用完用户身份后应该及时退出,不能在一个shell中反复执行su命令,会导致环境错乱
在这里插入图片描述

四、用户涉及到的系统配置文件

/etc/passwd ##用户身份信息文件
在这里插入图片描述

erqianx100011000erqian/home/erqian/bin/bash
用户名称用户密码用户id用户主组id用户说明用户家目录用户默认shell

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

erqianx1000
组名称组密码组id组的附加成员

/etc/skel/.* ##用户环境配置文件模板
/etc/shadow ##用户认证信息文件
/home/username ##用户家目录
/var/spool/mail/username ##用户邮箱文件

五、用户和用户组的建立及删除

监控用户建立的命令,用于直观的感受用户只是文件中的一行字符

watch -n 1 “tail -n 4 /etc/passwd /etc/group; ;ls -l”
命令参数指定内容指定用户作用
useraddusername##用户建立
-uidusername##指定UID;uid范围:2**16=0——65535
-gidusername##指定主组id
-Gidusername##指定附加组id
-d/dirusername##指定用户家目录
-cwordusername##指定用户说明
-sshellusername##指定用shell
-Musername#3建立用户时不建立家目录
userdelusername##删除指定用户
-rusername ##用户删除, -r 删除用户的系统配置文件
groupaddgroupname##组建立
-gidgroupname##指定组ID
groupdelgroupname##组删除

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

六、用户和用户组的信息管理

命令参数指定内容指定用户作用
usermod
-l# 更改用户名称
-uidusername#更改用户id
-g#更改主组id
-G#更改用户附加组身份
-aG#添加用户附加组身份-c #更改用户说明
-d#更改家目录指向
-md#更改家目录指向同时更改家目录名称
-s#更改默认shell
-L#冻结账号
-U#解锁
groupmod-g

在这里插入图片描述

七、用户认证信息管理

/etc/shadow ##认证信息存放路径

在这里插入图片描述
文件内容说明:用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)

1.用户名称

passwd -S username  ##查看密码状态

2.用户加密字符

1)更改密码

passwd username ##修改普通用户密码
echo 123 | passwd --stdin username ##只有root用户才可以执行
在这里插入图片描述

2)冻结认证

passwd -l username ##冻结账号认证
passwd -u username ##解锁账号认证

3)密码删除

passwd -d username ##删除后用户登录不需要密码

4)密码使用天数

时间从1979年1月1日算至今为止的时间
passwd -e username ##修改默认使用时间为0
psswd -d 0 username ##账号登录时强制修改密码才可登录

5)密码最短有效期

passwd -n 1 username ##username在1天内不能改密码
chage -m 1username

6)密码最长有效期

passwd -x 40 username ##40天内username用户必须更新密码否则会被冻结
chage -M 30username

7)密码过期警告

passwd -w 2 username##账号过期前警告时间
chage -W 1 username

8)认证非活跃天数

passwd -i 2 username ##账号认证最大时间超过后还能用多久
chage -I 1 username

9)账号认证到期时间

chage -E “2020-05-11” ##到2020-5-11这天账号会被冻结

#未启用功能

八、权利下放

1.用户权力下放

  • 在系统中普通用户时无法执行系统管理命令的

  • 如果需要普通用户执行系统管理动作那么需要

  • root用户来进行授权

  • 普通用户授权方式 “sudo”

  • 作用:可以使普通用户使用指定的用户身份呢运行命令

2.授权方法:

visudo ##此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右 ##代码规范性

username hostname=(newusername) [NOPASSWD:] /command, /command1
用户名      主机名   以什么身份    免密执行    权限1      权限2

#erqian用户 在localhost.localdomain主机=(用超级用户身份) 执行useradd命令,
查看当前主机名称:hostname
普通用户执行下放的命令时:sudo useradd username

erqian localhost.localdomain=(root) /usr/sbin/useradd

在这里插入图片描述

#erqian用户 在localhost.localdomain 使用超级用户身份 免密 执行useradd 和 userdel

erqian localhost.localdomain=(root) NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel

查看所要执行的命令的绝对路径:which useradd

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值