Linux 用户与组管理详解

文章目录

  • Linux 用户与组管理详解
  • 介绍
  • 用户管理
    • 用户分类
    • UID(用户标识号)
    • 用户账号文件
    • 用户密码文件
    • 常用用户管理命令
  • 组管理
    • 组分类
    • GID(组标识号)
    • 组账户文件
    • 组管理命令
  • 查询账号信息
  • 总结


Linux 用户与组管理详解

介绍

在 Linux 系统中,用户和组是实现权限控制和管理的基础。不同类型的用户和组拥有不同的权限和功能。在本博文中,我们将深入探讨 Linux 系统中的用户管理和组管理,包括常见的用户类型、UID、GID、如何管理用户和组、以及相关命令的使用方法。

用户管理

用户是 Linux 系统中最基本的实体之一,Linux 中有不同类型的用户,每个用户有一个唯一的 UID(用户标识号),用于系统区分不同的用户。

用户分类

  1. 超级用户:root
    作为 Linux 系统中的最高权限用户,root 用户拥有执行任何操作的权限。使用 root 用户时,务必小心谨慎,以免操作失误带来系统崩溃或数据丢失。

  2. 普通用户
    普通用户是用于日常的系统管理与使用。它们的权限受限,只能访问系统中自己的文件和部分公共资源。

  3. 程序用户
    程序用户主要用于运行特定的服务和程序,这些用户通常不能直接登录系统,且仅用于服务进程的管理和运行。

UID(用户标识号)

  • UID: 0:代表 root 用户,权限最高。
  • UID: 500-60000:代表普通用户。
  • UID: 1-499:代表程序用户。

用户账号文件

  • /etc/passwd:该文件包含了系统中所有用户的基本信息,包括用户名、用户ID、组ID、家目录路径和登录 shell。

    • 查看当前系统用户数量:

      cat /etc/passwd | wc -l
      
    • 查看所有用户信息:

      cat /etc/passwd
      
    • 解析示例:
      root:x:0:0:root:/root:/bin/bash
      各字段含义如下:

      • 用户名:root
      • 密码占位符:x(表示密码加密存储在 /etc/shadow 中)
      • 用户 UID:0
      • 组 GID:0
      • 用户描述:root
      • 用户家目录:/root
      • 登录 shell:/bin/bash

用户密码文件

  • /etc/shadow:保存着用户的加密密码及其他密码信息,如密码修改日期、最小修改期限等。

    • 查看用户密码配置:

      cat /etc/shadow
      
    • 解析示例:
      root:$$FHd:17211:0:99999:7:::

      各字段含义如下:

      • 用户名:root
      • 加密密码:$$FHd
      • 上次修改密码的时间:17211
      • 密码最短使用期限:0(可以随时修改密码)
      • 密码最大使用期限:99999(永不过期)
      • 密码提前提醒天数:7
      • 账号失效时间:无

常用用户管理命令

  • 添加用户

    useradd [选项] 用户名
    

    常用选项:

    • -u:指定 UID
    • -d:指定家目录
    • -e:指定账号失效时间
    • -M:不新建用户家目录
    • -s:指定登录 Shell

    示例:

    useradd -u 510 hehe
    useradd -s /sbin/nologin haha
    
  • 设置密码

    passwd [选项] 用户名
    

    常用选项:

    • -d:清空密码,允许无密码登录
    • -l:锁定账户
    • -u:解锁账户
    • -S:查看账户状态

    示例:

    passwd -d hehe
    passwd -l haha
    
  • 更改用户信息

    usermod [选项] 用户名
    

    常用选项:

    • -L:锁定账户
    • -U:解锁账户
    • -u:更改 UID
    • -d:更改家目录
    • -s:更改登录 Shell
    • -e:更改失效时间
  • 删除用户

    userdel [选项] 用户名
    

    常用选项:

    • -r:删除用户及其家目录

    示例:

    userdel -r hehe
    

组管理

在 Linux 中,组用于对一组用户进行权限管理。每个组都有一个 GID(组标识号)。

组分类

  1. 基本组:每个用户只能属于一个基本组,通常与用户名同名。
  2. 附加组:一个用户可以属于多个附加组,用于集体权限管理。
  3. root 组:root 用户所属的组。

GID(组标识号)

  • 基本组:GID 1-499
  • 附加组:GID 500-60000
  • root 组:GID 0

组账户文件

  • /etc/group:记录了系统中所有组的信息,包括组名、组成员等。

    示例:

    cat /etc/group
    

    解析示例:
    mail:x:12:mail,postfix

    各字段含义:

    • 组名:mail
    • 组密码占位符:x
    • GID:12
    • 组成员:mail, postfix

组管理命令

  • 新建组

    groupadd [选项] 组名
    

    示例:

    groupadd -g 600 qwe
    
  • 添加/删除用户到组

    gpasswd [选项] 用户名 组名
    

    常用选项:

    • -a:添加用户到组
    • -d:删除用户出组
    • -M:设置组成员

    示例:

    gpasswd -a hehe qwe
    gpasswd -d hehe qwe
    gpasswd -M hehe,haha qwe
    
  • 删除组

    groupdel 组名
    

查询账号信息

  • 查询用户信息

    id [用户名]
    

    查看用户的 UID、GID 及所属组。

  • 查询用户所属组

    groups [用户名]
    
  • 查询用户详细信息

    finger [用户名]
    

总结

Linux 系统的用户与组管理是系统安全和权限管理的重要部分。通过合理的用户和组设置,可以确保不同用户具有适当的权限,从而减少系统的安全风险。在日常使用中,掌握常见的用户管理和组管理命令对于系统管理员来说至关重要。

通过本文的学习,您应能熟练使用 Linux 用户与组管理的常用命令,合理分配权限,从而提高系统的安全性与管理效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp+微信小程序+地图+传入多个标记点显示+点击打开内置地图导航+完整代码

一、效果展示 二、完整代码 <template><view class"container"><map class"map-container" :latitude"latitude" :longitude"longitude" :markers"markers" :controls"controls" show-location m…

高效数据管理:WPF中实现带全选功能的DataGrid复选框列

目录 引言项目结构与准备工作XAML布局设计后台代码实现视图模型设计总结引言 在许多应用场景中,我们需要在表格中选择多行数据进行批量操作,如删除、导出等。为了提高用户体验,通常会在表格的第一列添加一个复选框,允许用户逐个或批量选择数据项。本文将详细介绍如何在 WP…

一周学会Flask3 Python Web开发-SQLAlchemy简介及安装

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射&#xff08;ORM&#xff09;工具&#xff0c;…

《Linux C 智能 IO 矩阵:输入输出的自适应数据流转》

1. 标准库IO简介 标准库IO特点&#xff1a;通过操作系统提供的接口&#xff08;API&#xff09;和操作系统进行交互。&#xff08;接近100个函数&#xff09; 1.1. IO的过程 操作系统&#xff1a;向上为用户提供操作接口&#xff0c;向下为统筹控制硬件。 操作系统的组成&#…

【大模型理论篇】--Mixture of Experts架构

Mixture of Experts&#xff08;MoE&#xff0c;专家混合&#xff09;【1】架构是一种神经网络架构&#xff0c;旨在通过有效分配计算负载来扩展模型规模。MoE架构通过在推理和训练过程中仅使用部分“专家”&#xff08;子模型&#xff09;&#xff0c;优化了资源利用率&#x…

智能云呼叫中心如何升级企业服务?带来新商机

当某国际零售品牌通过部署云呼叫中心将客服响应效率提升73%时&#xff0c;这场由云计算掀起的客户服务革命已悄然渗透到企业运营的毛细血管。在数字化转型的深水区&#xff0c;云呼叫中心正从"成本中心"蜕变为"价值引擎"&#xff0c;推动企业构建差异化的服…

java+jvm笔记

JUC synchornized原理&#xff08;java锁机制&#xff09;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 升级顺序&#xff1a; 无锁偏向锁&#xff0c;只有一个线程来访问轻量级锁&#xff0c;有两个线程交替访问重锁&#xff0c;两个及以上线…

CES Asia 2025增设未来办公教育板块,科技变革再掀高潮

作为亚洲消费电子领域一年一度的行业盛会&#xff0c;CES Asia 2025&#xff08;第七届亚洲消费电子技术贸易展&#xff09;即将盛大启幕。今年展会规模再度升级&#xff0c;预计将吸引超过500家全球展商参展&#xff0c;专业观众人数有望突破10万。除了聚焦人工智能、物联网、…

Sass 模块化革命:深入解析 @use 语法,打造高效 CSS 架构

文章目录 前言use 用法1. 模块化与命名空间2. use 中 as 语法的使用3. as * 语法的使用4. 私有成员的访问5. use 中with默认值6. use 导入问题总结下一篇预告&#xff1a; 前言 在上一篇中&#xff0c;我们深入探讨了 Sass 中 import 语法的局限性&#xff0c;正是因为这些问题…

AI-Deepseek + PPT

01--Deepseek提问 首先去Deepseek问一个问题&#xff1a; Deepseek的回答&#xff1a; 在汽车CAN总线通信中&#xff0c;DBC文件里的信号处理&#xff08;如初始值、系数、偏移&#xff09;主要是为了 将原始二进制数据转换为实际物理值&#xff0c;确保不同电子控制单元&…

解锁前端表单数据的秘密旅程:从后端到用户选择!✨

&#x1f604; 解锁前端表单数据的秘密旅程&#xff1a;从后端到用户选择&#xff01;✨ 嘿&#xff0c;技术爱好者们&#xff01;&#x1f44b; 你有没有在开发中遇到过这样的困惑&#xff1a;表单里的数据&#xff08;比如图片附件、识别点 ID&#xff09;从哪儿来的&#x…

【Linux】进程间通信 续

目录 管道的原理&#xff08;匿名管道&#xff09; 核心原理 站在内核的角度看管道的本质 接口 创建管道文件 代码示例 管道的特征 管道读写端的四种情况 管道的应用场景 命令行的管道。 使用管道实现进程池 初始化 控制子进程 退出 命名管道 命名管道的理解 …

宇树科技再落一子!天羿科技落地深圳,加速机器人创世纪

2025年3月5日&#xff0c;机器人行业龙头宇树科技&#xff08;Unitree&#xff09;在深圳再添新动作——全资子公司深圳天羿科技有限公司正式成立。这家注册资本10万元、法定代表人周昌慧的新公司&#xff0c;聚焦智能机器人研发与销售&#xff0c;标志着宇树科技在华南市场的战…

AI-Ollama本地大语言模型运行框架与Ollama javascript接入

1.Ollama Ollama 是一个开源的大型语言模型&#xff08;LLM&#xff09;平台&#xff0c;旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型&#xff0c;支持文本生成、翻译、代码编写、问答等多种…

SQLAlchemy系列教程:基本数据类型及自定义类型

在SQLAlchemy、Python SQL工具包和ORM中定义模型时&#xff0c;理解基本数据类型至关重要。本教程提供了在SQLAlchemy模型中有效使用内置基本类型的指南。 SQLAlchemy中的基本类型 SQLAlchemy支持一组与SQL数据库类型一致的基本数据类型。SQLAlchemy中的每种类型都为各种SQL类…

K8s The connection to the server 192.168.56.120:6443 was refused报错解决

虚拟机获取不到其他node节点的信息&#xff0c;通过使用docker ps -a 排查看到k8s的组件都是exited的状态&#xff0c;通过手动拉起docker 镜像id 起来之后&#xff0c;又变为exited的状态&#xff01;&#xff01;&#xff01; 解决方法&#xff1a;重置k8s集群 使用 kubeadm…

随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)

随着自动驾驶技术的蓬勃发展&#xff0c;安全、高效的路径规划成为核心挑战之一。快速探索随机树&#xff08;RRT&#xff09;算法作为一种强大的路径搜索策略&#xff0c;为自动驾驶汽车在复杂环境下绕过静态障碍物规划合理路径提供了有效解决方案。 RRT 算法基于随机采样思想…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.3.1 避免频繁更新(Update by Query的代价)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 Elasticsearch数据更新与删除深度解析&#xff1a;2.3.1 避免频繁更新&#xff08;Update by Query的代价&#xff09;案例背景1. Update by Query的内部机制解析1.1 文档更…

Baklib内容中台赋能企业智管

内容中台构建全场景智管 现代企业数字化运营中&#xff0c;全域内容管理能力已成为核心竞争力。通过智能知识引擎驱动的内容中台架构&#xff0c;企业能够实现跨部门、多形态数据的统一归集与动态调度。以某制造企业为例&#xff0c;其利用中台系统将分散在CRM、ERP及内部文档…

今天来介绍和讨论 AGI(通用人工智能)

首先介绍&#xff0c;AGI&#xff08;通用人工智能&#xff09;是什么&#xff1f; AGI&#xff08;Artificial General Intelligence&#xff0c;通用人工智能&#xff09;指的是能够像人类一样理解、学习、推理和解决广泛任务的人工智能系统。与目前的AI不同&#xff0c;AGI可…