Linux的用户与用户组管理

本文详细介绍了Linux系统中的用户与用户组概念,包括用户和用户组的定义、管理方法(如添加、删除、密码设置等)、用户切换(su和sudo命令的用法),旨在帮助读者理解和实践Linux用户管理基础。
摘要由CSDN通过智能技术生成

借助学校的课程学习了一遍Linux的用户与用户组管理,在这里做一些学习记录


目录

一、用户与用户组的概念

1.1、用户和用户组是什么?

1.1.1、用户

1.1.2、用户组

1.1.3、关系

二、用户与用户组管理

2.1、用户管理

2.1.1、添加用户命令

2.1.2、设置用户密码

2.1.3、删除用户

2.1.4、修改用户账号

2.2、用户组管理

2.2.1、添加用户组

2.2.2、删除用户组

2.2.3、修改组密码

2.2.3、临时切换用户组

2.2.4、用户组管理用户

三、用户切换

3.1、su命令 

3.2、sudo命令

四、小结

如果这篇文章的内容对你有所帮助,别忘点赞收藏+关注~~~


一、用户与用户组的概念

1.1、用户和用户组是什么?

Linux操作系统中设立了用户和用户组的概念,在使用系统资源时必须有身份,因此用户需要先向系统管理员申请一个账号Linux允许多个用户同时登陆操作系统,针对系统中的多名用户,Linux还设计了用户组的概念,为用户指定用户组,可以在需要时方便地对多个用户进行管理。

1.1.1、用户

  • 用户是系统中的一个个体,可以是一个人、一个程序或者一个服务。每个用户都有一个唯一的用户名(username)和用户标识号(user ID),用于区分不同的用户。
  • 用户拥有自己的家目录(home directory),用于存储个人文件和设置。每个用户都有权限访问自己的家目录以及系统中的其他资源,但这些权限可以通过权限管理进行调整。

例如:假设在一个家庭共享电脑上,父母、孩子和客人可以分别拥有自己的用户账户。每个用户可以有自己的桌面设置、文件和应用程序,而不会互相干扰。

1.1.2、用户组

  • 用户组是一组具有相似权限和特权的用户的集合。每个用户可以属于一个或多个用户组,这样他们就可以共享相同的权限和访问资源。
  • 用户组有一个唯一的组名(group name)和组标识号(group ID),用于区分不同的用户组。

例如:假设在一个公司的服务器上,有不同的用户组用于区分不同部门的员工,如“市场部”、“开发部”和“财务部”。每个用户被分配到对应的用户组,这样他们就可以共享相同的文件和资源,并且管理员可以更轻松地管理权限。

1.1.3、关系

想象一个大型演唱会中的安检队伍。每个参与者(用户)都有自己的身份证(用户标识号)和姓名(用户名),允许他们进入特定区域或执行特定任务。安检队伍被分为不同的小组(用户组),例如安检人员、票务人员和保安人员。每个小组成员共享相似的权限和责任,例如安检人员负责检查行李,票务人员负责发放门票,而保安人员负责维护秩序。通过分配参与者到不同的小组,活动组织者可以更有效地管理活动并确保安全。

二、用户与用户组管理

2.1、用户管理

2.1.1、添加用户命令

useradd [选项] 用户名

常用选项:

选项说明
-d指定用户登入时的目录
-c指定账户的备注文字
-e指定账号的有效期限
-f缓冲天数,密码过期时在指定天数后关闭该账号
-g指定用户所属组
-G指定用户所属的附加用户组
-m自动建立用户的登入目录
-r创建系统账号
-s指定用户的登陆shell
-u指定用户的用户ID。若添加-0选项,则用户ID可与其它用户重复

示例:

useradd zhangsan #创建用户zhangsan

创建用户之后进入homo目录查看,创建用户成功

2.1.2、设置用户密码

passwd [选项] 用户名

常用选项:

选项说明
-l锁定密码,锁定后密码失效,无法登陆(新用户默认锁定)
-d删除密码,仅系统管理员可使用
-S列出密码相关信息,仅系统管理员可使用
-f强行执行

示例:

passwd zhangsan    #修改用户zhangsan的密码

提示输入新的密码,输入之后点击回车,修改成功

说明:用户M密码统一储存在etc/shadow中,可以输入more /etc/shadow 查看系统用户密码

          输入tail -1 /etc/shadow 查看最新添加的用户密码信息

2.1.3、删除用户

该命令可删除指定账户以及与账户相关的文件和信息。

userdel [选项]  用户名

常用选项:

选项说明
-f强制删除用户,即便该用户为当前用户
-r删除用户的同时,删除与用户相关的所有文件

示例:

userdel zhangsan    #删除用户zhangsan

如果不加-rf只会删除用户信息,而不会删除相关文件,输入userdel -rf 删除全部相关信息

2.1.4、修改用户账号

修改用户账号信息,即修改账号的属性,如用户ID、主目录、用户组、登陆shell等。

usermod [选项] 用户名

常用选项:

选项说明
-c修改用户账号的备注信息
-d修改用户的登入目录
-e修改账号的有效期限
-f修改缓冲天数,即修改密码过期后关闭账号的时间
-g修改用户所属组
-l修改用户账号名称
-L锁定用户密码,使密码失效
-s修改用户登陆后使用的shell
-u修改用户ID
-U解除密码锁定

示例:

usermod -l lisi zhangsan    将zhangsan用户名改为lisi

这里修改了zhangsan的用户名,但是home中的zhangsan并没有修改.

这是因为用户名实际上是修改的,但是对应的文件夹没有修改,使用userdel命令删除zhangsan可以得知zhangsan用户不存在,删除lisi则成功删除.

插入一条:

/etc/passwd 中存储的用户的基本信息,包括:

用户名(Username): 用于登录系统的用户名。

密码占位符(Password Placeholder): 通常是 x,表示密码被存储在 /etc/shadow 文件中,以增加安全性。

用户标识号(UID,User ID): 每个用户都有一个唯一的数值标识符,用于标识用户。

用户组标识号(GID,Group ID): 表示用户所属的主要用户组的标识符。

用户描述信息(User ID Info): 包含一些关于用户的描述性信息,如全名、联系方式等。

家目录(Home Directory): 用户登录后所在的初始目录。

登录 Shell(Login Shell): 用户登录时使用的 Shell 程序。

可以使用vim或者more等 /etc/passwd 查看用户基本信息

2.2、用户组管理

每个用户都有一个用户组,若在创建账户时未指定,那么系统会以用户账号名作为该用户的用户组,并将与该账号同名的用户组同步到/etc/group文件中。

/etc/group中记录的各个组的基本信息

2.2.1、添加用户组

groupadd [选项] 组名

常用选项:

选项说明
-g指定新建用户组的组ID
-r创建系统用户组,组ID取值范围为1~499
-o允许创建组ID已存在的用户组

示例:

创建一个nuc的组之后查看etc/group中的最新一行,发现添加成功

groupadd nuc    #创建一个名为nuc的组

2.2.2、删除用户组

groupdel 用户名

示例:

输入删除之后查看/etc/group中发现删除成功

groupdel nuc    #删除nuc组

插入一条:

若用户被创建时没有指定用户组,系统会为用户创建一个与用户名相同的组,这个组就是基本组,若在某个用户的目录中创建文件,文件的所属组,就是用户的基本组;另外可以为用户指定附加组,除基本组之外,用户所在的组都是附加组,为用户指定附加组,可以使用户拥有对应组的权限。

2.2.3、修改组密码

gpasswd 用户组名

示例:

提示输入两次密码之后回车,修改成功

gpasswd nuc     #修改nuc组的密码

2.2.3、临时切换用户组

这个切换用户组只是临时切换,当用户退出重进之后工作组就会重置。

newgrp 用户组名

示例:

首先切换用户,这里切换为pdh,然后输入newgrp nuc ,输入密码之后切换成功,使用pdh创建一个a.txt文件之后查看发现工作组已经变为ncu

newgrp nuc    #切换工作组为nuc

一个用户同一时刻只能在一个组当中

2.2.4、用户组管理用户

gpasswd [选项] 用户组名

常用选项:

选项说明
选项为空时表示给组设置密码
-A user1,...将user1等设置为组的管理员
-M user1,...将user1等加入到群组当中
-r移除群组的密码
-R让群组密码失效
-a user将user加入到群组当中
-d user将user从群组中移除

示例:

将pdh移入nuc,然后移出nuc

gpasswd -a pdh nuc    #将pdh移入工作组nuc
gpasswd -d pdh nuc    #将pdh移出工作组nuc

这里插一条:

当用户创建文件时,文件的所属组将是用户的基本组,而不是用户当前所属的任何其他附加组。

因此,即使将用户 pdh 添加到组 nuc 中,他的基本组仍然是 pdh,除非显式地将文件的所属组更改为 nuc。例如使用newgrp切换至nuc然后创建。

三、用户切换

3.1、su命令 

使用su命令切换用户是最简单的用户切换方式

su [选项] 用户名

常用选项:

选项说明
-c执行完指定的指令后,切换回原来的用户
-l切换用户的同时,切换到对应用户的工作目录,环境变量也会随之改变
-m,-p切换用户时,不改变环境变量
-s指定要执行的shell

示例:

su pdh    #切换至pdh用户
su -c "ll" pdh     #切换至pdh用户,执行完ll命令之后退回

注意:

说明:
①使用su命令切换用户时,需要输入的是目标用户的密码,

②选项与用户名缺省的情况下,只切换用户,但不改变用户环境

③由root用户切换到其它用户,可以不输入密码

④在命令行输入“exit”或“su -user”可退出目标用户

3.2、sudo命令

sudo [选项] -u 用户命 [命令]

常用选项:

选项说明
-b在后台执行命令
-h显示帮助
-H将HOME环境变量设置为新身份的HOME环境变量
-k结束密码的有效期限

sudo命令可以视为受限的su,它可以使“部分”用户使用其它用户的身份执行命令

四、小结

本文主要讲解了Linux中的用户与用户组的管理以及用户间的切换方式。理解掌握用户与用户组的概念是学习Linux系统的基础,掌握用户切换命令su与sudo能方便对Linux系统的管理,读者应掌握用户与用户组的概念与相关操作,并能熟练运用用户切换命令切换用户。


如果这篇文章的内容对你有所帮助,别忘点赞收藏+关注~~~

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值