Linux下的用户管理

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

用户是操作者在系统中的一个身份标识,主要分为超级用户和普通用户,组是一个逻辑的容器,是用户的集合,用户的存在是为了更好的分配资源而组的存在是为了更好的共享资源。

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

用户在系统中就是文件中的字符串,每个字符串映射了该用户所用到的系统资源,在系统中对用户的管理就是对文件的管理。

三、用户涉及到的配置文件以及内容

/etc/passwd用户信息库
/etc/group组信息库
/home/用户同名目录默认的用户的家目录
/etc/skel/所有文件用户环境配置文件模板
/etc/shadow用户认证信息
/etc/gshadow组信息认证
  • /etc/passwd
    表示用户的信息库,在这个文件中每一行都包含7列,列与列之间用冒号隔开,这7列内容表示的含义如下:
1用户名称
2用户密码
3用户ID(UID)
4组ID(GID)
5对用户的说明
6用户所在的家目录
7系统中对话时默认使用的软件

四、用户信息的查看

id      #查看指定用户的id信息

id命令常用的参数主要有:

-u查看用户的UID
-g查看用户的GID
-G查看用户所在的所有组的ID
-Gn查看用户所在的所有组的名字
-n显示名字而不显示ID数字

用户所在的组分为两类:初始组和附加组,用户的GID指的是用户所在的初始组的ID

五、用户身份的切换以及环境变量

  • 1、图像方式
    在界面右上角找到图像界面点击当前用户选项中的Log Out退出当前用户

  • 2、命令行方式注销当前用户
    输入指令

gnome-session-quit --force #注销当前用户
  • 3、命令行方式切换用户
su只切换用户身份而不改变用户环境
su -切换用户身份以及用户环境

示例:当用指令su student从root用户(当前位置为/root/Desktop)切换到student用户时,如果用pwd查看当前路径,仍然显示为/root/Desktop,当用su - student切换用户时再用pwd查看当前位置时显示/home/student
只有从高级用户向低级用户切换时不用输入密码,而从低级用户向高级用户切换或者平级用户之间的切换都是需要输入密码的

六、用户以及用户组的建立、删除以及更改

已知用户以及用户组的建立和删除会体现在第三部分中写到的用户涉及到的配置文件中,为了更加直观的监测到建立和删除的过程,我们可以打开一个新的Shell输入如下代码进行观察:

watch -n 1 "tail -n 5 /etc/passwd /etc/group ; echo ===; ls -l /home"

其中echo ===插入分割标识可以更加清楚的观测

  • 组的建立以及删除
groupadd建立组
groupdel删除组
groupmod -g更改组ID

直接用groupadd 组名来添加组时,系统会自动分配一个ID给这个组,组的ID的范围为0-65535之间
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 用户的建立及删除
    用户的建立所用的指令为useradd,常见的参数如下
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
-u指定用户的ID
-g指定用户的初始组ID(初始组ID必须已存在)
-G指定用户的附加组(附加组必须存在)
-c指定用户的说明
-d指定用户的家目录
-M不在/home中建立家目录
-s指定用户的默认shell

用户的ID范围也为0-65535,其中0代表超级用户,1-999代表系统用户一般是保留的,1000-65535是普通用户,可用cat /etc/shell查看 系统中shell的类型
在这里插入图片描述在这里插入图片描述
用户删除的指令为userdel当只用userdel 用户名删除用户时,在/home下此用户并没有被删除并且当再次添加该用户时会报错,显示在家目录中这个子目录已经存在,所以删除用户时应该用

userdel -r #系统中该用户的所有信息都被删除
  • 用户信息的更改
    当想要修改用户的一些信息可以不用删除用户再重新建立用户,而可以使用usermod来更改用户信息,常见的参数如下:
-l更改用户名称
-u更改用户的UID
-g更改用户的GID
-aG指定用户的附加组
-c修改用户的说明
-md修改用户的家目录
-s修改用户的shell类型
-d修改用户家目录的指向
-L用户密码上锁
-U用户密码解锁

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
注意:(1)用-g修改用户的初始组ID时,这个组必须是存在的,指定用户的附加组时用的是-aG而当用-G添加附加组时,会将原有的附加组删除只留添加的这个组
(2)参数-d只能够改变家目录的指向,即在/etc/passwd文件中显示家目录指向的变更而/home中目录的名称不变

七、用户认证文件的内容分析

用户认证文件就是管理用户密码的文件,路径为/etc/shadow,只有超级用户才能查看,这个文件的每一行都分为9列,列与列之间用冒号隔开,每一列代表的含义如下:

1用户名称
2用户密码
3密码已经使用的时间
4密码最短有效期
5密码最长有效期
6密码到期前警告
7密码非活跃天数
8密码到期日期
9用户自行开发

用户修改密码根据用户等级执行如下命令
1、超级用户

passwd  #修改自身密码
passwd 普通用户  #修改普通用户密码

在这里插入图片描述
2、普通用户

passwd #修改自身密码

普通用户只能修改自己的密码而不能修改root用户或者与自己平级的用户的密码
想要修改/etc/shadow文件中用户密码的信息可以通过passwd命令来执行,该命令常见的参数如下:
在这里插入图片描述

-l为密码上锁
-u为密码解锁
-S查看密码状态
-e让密码的使用时间改为0
-n修改密码的最短有效时间
-x修改密码的最长有效时间
-w修改密码到期前警告时间
-i修改密码非活跃时间
-d删除密码

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

注意:(1)用usermod - L对用户密码上锁时,在/etc/shadow文件中密码前显示一个!而用passwd - l时会显示两个!
(2)用passwd指令不能够修改密码的到期时间
指令chage只能够更改密码期限,常见的参数如下:

-d修改密码的使用时间
-m修改密码的最短有效期限
-M修改密码的最长有效期限
-W修改密码的警告时间
-I修改密码的非活跃天数
-E修改密码到期的时间

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

注意:(1)与passwd不同,chage可以更改密码到期的时间,并且在修改账号的使用时间时,passwd只能够将使用时间改为0而不能指定使用时间而chage可以指定要修改的时间

八、用户权力的下放

用户权力的下放是说可以让指定的用户去做超过自己权限的事情,需要以超级用户的身份在配置文件/etc/sudoers中来授权给指定的用户
当用指令

vim /etc/sudoers

来进入配置文件并进行修改时很可能会由于一些语法错误来使得修改之后的配置文件无法运行,故一般使用visudo来修改配置文件,这个指令具有检测语法的功能,可以避免一些问题
在这里插入图片描述
示例:使得系统中的普通用户yyqx具有添加用户的功能
一般在配置文件中进行授权时都写在文件的第100行左右
在这里插入图片描述
格式为
下放的用户名称 主机名称=(root) 授予权力的文件绝对路径

student 主机名=(root) /usr/sbin/useraddl

主机名称可以通过hostname来查看,useradd的路径可以通过which useradd来查看
将配置文件更改完成以后切换至student用户,执行sudo useradd来实现用户的添加,但要注意,普通用户执行权限之外的指令时只能完成授权的指令,当我们只让student用户有添加用户的功能时,想要删除添加的用户将不会实现
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值