0

0

linux用户组有哪几种

青灯夜游

青灯夜游

发布时间:2023-03-09 10:28:17

|

8014人浏览过

|

来源于php中文网

原创

linux用户组有2种:1、基本组  (  私有组  );建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。2、附加组  (  公有组  ),可以容纳多个用户,组中的用户都具有组所拥有的权利。

linux用户组有哪几种

本教程操作环境:linux7.3系统、Dell G3电脑。

linux用户和组的分类

1、linux下的用户可以分为3类

  • 超级用户 —— 用户名为 root ,它具有一切权限,只有进行系统维护 ( 例如:建立用户等 ) 或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

  • 系统用户(伪用户) —— Linux 系统正常工作所必需的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如: bin daemon adm lp 等用户。系统用户不能用来登录。

  • 普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

2、linux中的组有以下两类:

  • 基本组  (  私有组  )  :建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。        

  • 附加组  (  公有组  )  :可以容纳多个用户,组中的用户都具有组所拥有的权利。

3、linux中用户组和用户的配置文件

在linux中,用户账号,密码、用户组信息,和用户组密码是存放在不同的配置文件中的。

文件功能 文件名称

用户帐号文件

/etc/passwd
用户密码 /etc/shadow
用户组帐号文件 /etc/gruoup
用户组密码文件 /etc/gshadow

(1)用户账号文件——/etc/passwd

passwd   是一个文本文件,用于定义系统的用户账号,由于所有用户都对   passwd   有读权限,所以该文件中只定义用户账号,而不保存口令。    

1.png 

#   每行定义一个用户账号信息,每行由   7   个字段组成,字段之间用   “:”   分隔,其格式如下:  

账号名称   :   密码   :UID:GID:   个人资料   :   主目录   :Shell   

/etc/passwd   文件中字段说明    

  • 账号名称:用户登录   Linux   系统时使用的名称。    

  • 密码:以前是以加密格式保存密码的位置,现在密码保存在   /etc/shadow   文件中,此处只是密码占    位符   “x”     “*”   。若为   “x”   ,说明密码经过了   shadow   的保护。    

  • UID   :用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个   UID   数值:    

    超级用户的   UID——0  
  • 系统用户的   UID——1     999  
  • 普通用户的   UID——     1000    

  • GID   :用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的   GID      

  • 个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。    

  • 主目录:类似   Windows   的个人目录,通常是   /home/username   ,这里   username   是用户名,用户    执行   “cd       命令时当前目录会切换到个人主目录。    

  • Shell   :定义用户登录后激活的   Shell   ,默认是   Bash Shell  

(2)用户密码文件——/etc/shadow

2.png

#    每行定义了一个用户信息,行中各字段用    “:”    隔开    ,    其格式如下:    

登录名    :    加密口令    :    最后一次修改时间    :    最小时间间隔    :    最大时间间隔    :    警告时间    :    不活动时间    :    失效时间    :    标志  

 /etc/shadow文件中的每行9个字段的含义分别为字段

  • 登录名 :登录名    

  • 加密口令 :使用SHA-512/SHA-256/MD5    算法加密后的密码( $id$  id1 md55表示sha256 6sha512),若为空,表示该用户无需密码即可登录,若为“*” 表示该账号不 能用于登录系统,若为表示该账号密码已被锁定    

  • 最后一次修改时间 :最近一次更改密码的日期,    以距离    1970        1        1    日的天数表示    

  • 最小时间间隔 :密码在多少天内不能被修改。默认值为0,    表示不限制  
  • 最大时间间隔 :密码在多少天后必须被修改。默认值为99999,    表示不进行限制    

  • 警告时间 :提前多少天警告用户密码将过期,    默认值为    7        ,0    表示不提供警告  
  • 不活动时间 :密码过期多少天后禁用此用户    

  • 失效时间 :密码失效日期,    以距离    1970        1        1    日的天数表示    ,    默认为空    ,    表示永久可用    标志:保留未用,以便以后发展之用   

查看用户上次一次修改root密码的日期   

3.png

(3)用户组账号文件——/etc/group

系统中的每个组,在    /etc/group    文件中有一行记录,任何用户均可以读取用户组账户信息配置文件。   

4.png

 字段说明

  • Groupname :组的名字

  • Passwd :组的加密口令    

  • GID :是系统区分不同组的ID    ,在    /etc/passwd    域中的    GID    字段是用这个数来指定用户的基本组    

  • Userlist :是用“            分开的用户名,列出的成员以该组为附加组。  

作业:

1、创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户

5.png

2、解锁lockuser, 并设定下次登录时必须修改密码

6.png

3、创建用户testuser并设置密码,修改用户名为normaluser  

7.png

4、创建文件,查询文件的acl,为文件设置acl 用户为testuser1 权限为 rwx,为文件设置acl的mask: 权限为r-x

8.png

9.png 

5、设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
6、设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
7、设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式

KGOGOMALL
KGOGOMALL

主要功能:无限级分类,可自由调整分类位置,商品可在各分类间自由转移; 商品组合:可以为每种商品添加多种选项,方便顾客购买选择,比如:一件衣服顾客可以选择款式、花色、大小等,笔记本电脑,可以有cpu、内存、显示屏、硬盘等等扩展属性; 会员分级功能,会员积分功能。可根据会员积分自行设定用户组,管理员可自行定义会员获得积分的方式:按订单总金额或者按单个商品给予积分; 按照商品类别查看热卖、特价,允

下载

10.png

 11.png

 Linux 添加用户至用户组

通过使用 Linux 命令行的几个的示例,逐步向你展示如何在 Linux 上将用户添加到用户组中,以及如何在 Linux 上添加用户和组。这些命令应该可以在任何 Linux 发行版上工作,并且已经在CentOS、Debian 和 Ubuntu 上进行过测试。

添加一个新用户到用户组

一个 Linux 用户可以有一个主组(Primary group)和一个或多个附属组(Secondary groups)。这些组可以在创建用户时作为 adduser 命令的参数。

所有命令都必须以 root 用户的身份执行。在 Ubuntu 上,请在所有命令前加上 sudo,或者运行sudo -s 切换到 root 用户。

添加用户组

作为第一步,我将添加两个新的用户组,分别是 familyfriends

groupadd family
groupadd friends

添加新用户至单个用户组

下面我将一个新用户 tom,同时将用户添加到用户组 familyfamily 用户组将通过使用 -G 参数作为一个附属组添加。

useradd -G family tom

添加新用户到多个用户组

tom 现在是 family 用户组的一个用户。参数 -G 允许指定多个用户组,每个用户组之间使用逗号进行分隔。如果要将用户 tom 添加到 familyfriends 两个用户组,使用下面的命令:

useradd -G family,friends tom

设置用户密码

请注意,新的 Linux 用户 tom 还没有密码,所以无法登录。要设置此用户的密码,可以执行下面的命令:

passwd tom

并在命令请求时输入两次新密码。

在上面的示例中,我们将用户 tom 添加到辅助组中,adduser 命令自动创建了一个新的主组,并将该组分配为主组。

  • 用户名: tom
  • 主组: tom
  • 附属组: family(或者使用第二个案例添加 family 和 friends 两个附属组)

设置新的主组

也许你想在添加 tom 用户时,设置主组为 family(而不是默认创建的 tom 用户组),附属组为 friends,可以使用这个命令:

useradd -g family -G friends tom

使用 man 命令可以获得 useradd 命令的所有命令行选项的详细描述:

man useradd

11-2.png

将已有的用户添加至用户组

对于这个任务,我们将使用 usermod 命令。usermod 命令可以修改用户的各种选项,包括用户的组成员关系。

首先,我将添加第三个用户组 colleagues

groupadd colleagues

使用 usermod

我将 colleagues 用户组作为附属组添加到用户 tom

usermod -a -G colleagues tom

命令解释:-a 表示 append,它只能与 -G 选项(附属组)组合使用。所以最终我们将 tom 用户添加到 colleagues 用户组中,这个用户组是用户的一个附属组。

-G 选项可以指定多个用户组,每个用户组之间使用逗号进行分隔。例如:-G group1,group2,group3

如果想要修改 tom 用户的主组为 family,可以使用命令:

usermod -g family tom

使用 man 命令可以获取 usermod 命令的所有命令行选项的详细说明:

man usermod

12.png

相关推荐:《Linux视频教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

246

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

34

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.5万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号