当前位置: 首页 > news >正文

Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解

不管是Windows还是Linux,都可以有多个用户,划分权限的时候,也是哪个用户有哪些权限,哪个用户组有哪些权限。
一个用户可以加入多个用户组,就像这张图片,打个比方,一个学生,你可以加入课代表组,也可以加入班委组,比如同时兼任学习委员和英语课代表

一个文件如果设置权限,只能让班委组的人可以访问他,其余所有人都不可以看,那就只需要设置组的权限

对用户或用户组进行操作需要root权限,我们提前进入root

创建、删除用户组

语法:groupadd 用户组名
groupadd添加用户组,groupdel删除用户组
这几个语法都一样,都是指令加名,我们先演示一下创建一个班委组:

如果你直接输入中文,它就会报错,因为组名不能包含中文字符和空格,所以咱们用拼音
如果你说Linux到底有多少东西不支持中文,那数不过来了,所以咱们还是统一都用英语保险一点
groupadd banwei
删除也同理:groupdel banwei
留个小任务:创建一个课代表组

创建、删除用户

创建用户的指令是:
useradd [-g -d] 用户名
-g 指定用户的组,如果不指定,会创建同名组并加入,如果存在就直接加入,不可以指定不存在的组!
-d 指定用户家路径,如果不指定家目录,默认在/home/用户名

咱们创建一个叫jiang的用户,把他设置到班委组:
useradd -g banwei jiang
我们查看一下/home目录,这里说个小技巧,ll是ls -l的别名,别名也就是另一个名字,直接输入ll效果等同于ls -l。那我们输入ll /home

注意,/home目录不是家目录,不要写~号
如果你想新建用户后,给他指定一个文件夹当家目录,那就写为:
useradd jiang -g banwei -d 文件路径

只要存在这个账号,不管它位置在哪儿,都不能重新创建一个同名的账号

只要用户名存在系统的用户数据库/etc/passwd,就没办法创建同名用户。
Linux通过用户名和UID唯一标识用户,用户名在系统中是全局唯一的
执行useradd时,他会先检查/etc/passwd,如果发现用户名存在,会拒绝创建

删除用户


删除用户只有一个选项和一个参数,语法:
userdel [-r] 用户名
-r删除用户的家目录,不使用-r时,删除时保留家目录。注意,这里说的家目录是~,不是/home
咱们把用户ze删除掉,删除的时候你不要看它的家目录的名字是zzz就去删除zzz,删除用户的重心是用户,你要删ze

查看用户所属组

查看用户所属组,命令很简单,就两个字母:id,用法:
id [用户名]
你写看哪个用户,它就会告诉你那个用户的信息,如果你不写,那就是看自己

uid是用户的唯一ID,是在整个系统中代表他们自己的
gid是组唯一的ID,在整个系统中代表他们的组,也是主组
组:分为主组和附加组,主组就是创建账号时分配的组,附加组就是被添加到的其他组,!这里注意,他们的权限一样,只是名字不一样!不要觉得主组就高一级
那如果我想给他刚创建时就加入其他组,比如让用户yue同时加入班委和课代表组,应该怎么写?
如果你还是用咱们上面的方法,肯定是不成功的
错误示范:

-g是加入主组的,主组只能有一个,如果咱们想加入多个组,还需要一个-G
-G这个大写的G代表附加组,咱们在这里也写上一个组


gid是主组,这样yue就加入了课代表组和班委组,主组是课代表,附加组是班委

修改用户所属组

大家应该都知道我的世界的模组吧,模组叫mod,翻译过来就是修改的意思。我们要修改用户的组,所以也是mod,语法:
usermod -a -G 用户组 用户名
-a追加,不移除原来的附加组,如果不加这个,那它就覆盖了
-G 我们上面说的,这个是附加组

我们在不改变他原来组的同时,把lin改成班委组
usermod -aG banwei lin

你们发现了吗?明明没有给他加过一个叫wheel的组,那他后面为什么会写这个?这是怎么回事?
wheel是linux的管理员组,只有在管理员组的用户才能用sudo命令执行特权,并不是所有用户都可以获取到root权限的

查询系统里的用户信息

getent是查看命令,咱们查看系统中的所有用户信息,语法:
getent passwd
passwd是linux的一个数据库,专门用来储存系统中所有用户的详细信息,你可以这么理解:getent是查询系统数据库,passwd是数据库,连到一起就是查询数据库

你会发现上面有很多用户,那个不需要管,那个是系统创建时创建的用户,咱们只看下面的,lin、jiang、yue是咱们创建的
共有七份信息:
用户名:密码:用户ID:组ID:描述信息(无用):家目录:执行终端
密码那里如果显示X,那就说明不会用明文给你显示出来
执行终端我们后面会讲,如果想知道,也可以去查一下

查看系统全部用户组信息

getent是查询系统数据库,group是组的数据库,那就是查询组的数据库,语法:
getent group

和刚才的用户一样,上面是系统自己创建的,下面是咱们创建的
这里面分为三个部分:组名称:组认证:组ID


小结

Linux支持多用户、多用户组,用户也可以加入多个组

用户组
groupadd添加用户组,groupdel删除用户组,语法:
groupadd 用户组名
这个不支持中文的组

添加用户
useradd添加用户,userdel删除用户。
useradd [-g -d] 用户名
-g 指定用户的组,如果不指定,会创建同名组并加入,如果存在就直接加入,不可以指定不存在的组!
-d 指定用户家路径,如果不指定家目录,默认在/home/用户名

ll是ls -l的别名,别名也就是另一个名字,直接输入ll效果等同于ls -l
注意,/home目录不是家目录,不要写~号

只要存在一个账号,不管它位置在哪儿,都不能重新创建一个同名的账号
只要用户名存在系统的用户数据库/etc/passwd,就没办法创建同名用户。
Linux通过用户名和UID唯一标识用户,用户名在系统中是全局唯一的
执行useradd时,他会先检查/etc/passwd,如果发现用户名存在,会拒绝创建

删除用户
语法:
userdel [-r] 用户名
-r删除用户的家目录,不使用-r时,删除时保留家目录。注意,这里说的家目录是~,不是/home
删除的时候看用户叫什么,而不是看他的家目录叫什么

查看用户所属组
用法:
id [用户名]
你写看哪个用户,它就会告诉你那个用户的信息,如果你不写,那就是看自己
uid是用户的唯一ID,是在整个系统中代表他们自己的
gid是组唯一的ID,在整个系统中代表他们的组,也是主组
组:分为主组和附加组,主组就是创建账号时分配的组,附加组就是被添加到的其他组
-g是加入主组的,主组只能有一个,如果咱们想加入多个组,还需要一个-G
-G这个大写的G代表附加组

修改用户所属组
mod翻译过来就是修改的意思。语法:
usermod -a -G 用户组 用户名
-a追加,不移除原来的附加组,如果不加这个,那它就覆盖了
-G 我们上面说的,这个是附加组
wheel是linux的管理员组,只有在管理员组的用户才能用sudo命令执行特权,并不是所有用户都可以获取到root权限的

查询系统里的用户信息
getent是查看命令,咱们查看系统中的所有用户信息,语法:
getent passwd
passwd是linux的一个数据库
查询出来共有七份信息:
用户名:密码:用户ID:组ID:描述信息(无用):家目录:执行终端
密码那里如果显示X,那就说明不会用明文给你显示出来

查看系统全部用户组信息
getent是查询系统数据库,group是组的数据库,那就是查询组的数据库,语法:
getent group
这里面分为三个部分:组名称:组认证:组ID

http://www.jsqmd.com/news/477270/

相关文章:

  • L2-004 这是二叉搜索树吗?
  • HarmonyOS APP<玩转React>开源教程六:数据模型设计与实现
  • 多模态AI实战:CLIP模型原理与代码深度剖析
  • 基于QWidget创建的自定义窗口在使用isVisible时造成程序崩溃
  • 2026海鲜泡沫箱采购攻略:精选厂家不容错过,国内头部泡沫箱企业排行榜单赋能企业生产效率提升与成本优化 - 品牌推荐师
  • 【最好最全面】openclaw安装方法【教程即时更新,永不过期】
  • CSDN Markdown 微笑与 section 符号
  • 打印机连接故障排除方案
  • SNMP(简单网络管理协议)
  • Python 中通过命令行向函数传参
  • 天津市优秀的GEO生成式AI引擎优化的公司有哪些
  • **WebTransport:下一代低延迟实时通信协议的实战解析与代码实现**
  • LSTM的工作原理
  • 2026年创业热潮来袭,专业创业指导定制公司能否成为TOP选择?
  • 闲置天猫超市卡别等过期!这样处理,安全又省心 - 可可收
  • 第三章 第一性原理:从零到一的完整思考方法论
  • 技术:双电脑共享鼠标、键盘解决方案 | USB对拷线、Synergy
  • 电赛信号题备赛日记(1)移植正点原子STM32H750 mini pro的TFTLCD屏幕
  • 行楷 - 汉字行楷手写体字形
  • 文献汇总|AI生成图像检测与溯源相关工作(2026)
  • Win10 WSL安装Centos7 Nginx+PHP+MySQL
  • 柔性温度传感器--折线型结构
  • Tomcat简单实现
  • 关于学生课堂行为识别算法
  • 微软 GraphRAG从构图到检索的核心逻辑与代码实现
  • 2026年黄铜、不锈钢、钛合金光纤接头精密零件CNC加工厂家权威推荐:这三家凭什么脱颖而出? - 余文22
  • Esri 2020 10m全球土地覆盖数据下载(Land Cover Downloader)
  • Visual Studio - 修改主题背景颜色
  • 衬线字体 (serif) 和无衬线字体 (sans-serif)
  • Flutter 三方库 google_play_scraper 鸿蒙适配指南 - 实现高性能应用商店元数据抓取、在 OpenHarmony 上打造竞品分析数据防御线实战