❀My学习Linux小记录之UID和GID(用户ID和组ID)❀

news2025/4/6 5:54:36

❀My学习Linux小记录之UID和GID(用户ID和组ID)❀

目录

❀My学习Linux小记录之UID和GID(用户ID和组ID)❀

用户ID(UID)

组ID(GID)


登陆 Linux 系统时,虽然输入的是自己的用户名和密码,但其实 Linux 并不认识你的用户名称,它只认识用户名对应的 ID 号(也就是一串数字)。Linux 系统将所有用户的名称与 ID 的对应关系都存储在 /etc/passwd 文件中。

说白了,用户名并无实际作用,仅是为了方便用户的记忆而已。root用户拥有极高的系统所有权,能够管理系统的各项功能,真正让root成为“超级用户”的原因是它的UID值

Linux 系统中,每个用户的 ID 细分为 2 种,分别是用户 ID(User ID,简称 UID)和组 ID(Group ID,简称 GID),这与文件有拥有者和拥有群组两种属性相对应。

每个文件都有自己的拥有者 ID 和群组 ID,当显示文件属性时,系统会根据 /etc/passwd /etc/group 文件中的内容,分别找到 UID 和 GID 对应的用户名和群组名,然后显示出来。

用户ID(UID)

UID(User Identification)中文用户ID,相当于身份证一样,在系统中是唯一的。

对于centos7而言

超级用户 UID=0 root

普通用户 UID=1001起

虚拟用户 UID=1-1000 存在满足文件或者服务启动的需要。一般不需要登录

查看一下系统里的用户: # cat /etc/passwd

root:(账号名称)x(:账号密码)0(:账号UID)0(:账号GID)root(:用户说明):/root(:用户家目录)/bin/bash(:shell解析)

1、账号名称:和用户UID对应,这是用户登录时使用的账号名称,在系统中是唯一的,不能重复。

2、账号密码:早期的Unix系统中,该字段是存放账号密码的,由于安全原因,后来把这个密码字段内容移动到/etc/shadow中,这里可以看到一个字母表示该用户密码在/etc/shadow中保护。

3、账户UID:账号UID一般由一个整数表示的,范围是0~65535

4、账户GID:账号GID一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。

5、用户说明:这个字段是对这个账号二队描述说明。

6、用户家目录:用户登录后首先进入的目录,一般为(/home/用户名)这样的目录。

7、shell解析器:当前用户登录后所使用的shell,在centos/rhel等linux中,默认的shell为bash,就是在这里设置的。如果不希望用户登录系统,可以用个usermod或者手工修改passwd配置,将该字段改为/sbin/nologin即可。如果仔细看passwd文件,会发现大部分内置系统虚拟账号的这个字段都是/sbin/nologin,表示禁止登录系统,这是出于安全考虑的。(echo $SHELL及cat /etc/shells)。

组ID(GID)

GID (Group Identification)是用户组的编号,可以将多个用户加入到某个组中,方便指派任务或工作。

每个用户在被创建时均会创建一个默认组(其GID与UID相同,叫作基本组或初始组),而后加入的组叫作扩展组或附加组。

用户组名和GID则保存在 /etc/group 文件中。

查看一下系统里的用户组: # cat /etc/group

每行的用户组的信息都以 “:” 作为分割符,划分为4个字段,每个字段所表示的含义如下:

组名密码GID该用户组中的用户列表

其中,组密码保存在 /etc/gshadow 文件中,用户组密码一般没用;组中的用户列表只包括附加用户,如果该组是某个用户的初始组,则这个用户不会出现在这个用户列表中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D 纹理贴图基础知识

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 介绍 纹理贴图是创建模型时离不开的最后一块拼图。同样,…

Go自定义PriorityQueue优先队列使用Heap堆

题目 分析 每次找最大的,pop出来 然后折半,再丢进去 go写法 go如果想用heap,要实现less\len\swap\push\pop 但可以偷懒,用sort.IntSlice,已经实现了less\len\swap 但由于目前是大根堆,要重写一下less 因此&#xff…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)ChannelMap 模块的实现

(三)ChannelMap 模块的实现 这个模块其实就是为Channel来服务的,前面讲了Channel这个结构体里边它封装了文件描述符。假如说我们得到了某一个文件描述符,需要基于这个文件描述符进行它对应的事件处理,那怎么办呢&…

【Web】面向小白的CTF中搭docker常用命令

目录 准备 搭建容器 有docker-compose 无docker-compose 只给tar包 查看容器各项信息 销毁容器 最近总有师傅问docker怎么搭,一个一个回比较麻烦,干脆写一篇文章。 准备 你需要准备一个安装了docker的vps,还要一个终端管理工具&…

测试开发体系介绍——测试体系介绍-L2

目录: 被测系统架构与数据流分析 开源项目 LiteMall 系统架构:开源项目 Mall 的系统架构:如何快速了解一家公司的架构统一建模语言 UML推荐工具梳理业务流程:使用思维导图分析功能点:使用时序图分析数据流:使用活动图分析测试用例…

如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用

Base 是 Coinbase 使用 OP Stack 开发的最新以太坊第 2 层(L2)网络,用于解决以太坊等主要区块链面临的可扩展性和成本挑战。Coinbase 将其描述为“安全、低成本、对开发人员友好的以太坊 L2,旨在将下一个 10 亿用户带入 Web3”。B…

MFC 自定义压缩,解压缩工具

界面效果如下: 对外提供的接口如下: public: void setCallback(zp::Callback callback, void* param); bool open(const zp::String& path, bool readonly false); bool create(const zp::String& path, const zp::String& inputPath)…

医保购药小程序:智能合约引领医疗数字革新

在医疗领域,医保购药小程序通过引入智能合约技术,为用户提供更为高效、安全的购药体验。本文将通过简单的智能合约代码示例,深入探讨医保购药小程序如何利用区块链技术中的智能合约,实现医保结算、购药监控等功能,为医…

mysql索引合并index-merge

1.简单创建表并创建Index age sid CREATE TABLE st (id bigint(20) NOT NULL AUTO_INCREMENT,age int(11) DEFAULT NULL,name varchar(100) DEFAULT NULL,sid bigint(20) DEFAULT NULL,PRIMARY KEY (id),KEY idx_age (age),KEY idx_sid (sid) ) ENGINEInnoDB AUTO_INCREMENT8 …

关于“Python”的核心知识点整理大全34

目录 第13 章 外星人 13.1 回顾项目 game_functions.py 13.2 创建第一个外星人 13.2.1 创建 Alien 类 alien.py 13.2.2 创建 Alien 实例 alien_invasion.py 13.2.3 让外星人出现在屏幕上 game_functions.py 13.3 创建一群外星人 13.3.1 确定一行可容纳…

KubePi JWT 默认密钥权限绕过漏洞复现(CVE-2023-22463)

0x01 产品简介 KubePi 是一款简单易用的开源 Kubernetes 可视化管理面板。 0x02 漏洞概述 KubePi 存在权限绕过漏洞,攻击者可通过默认 JWT 密钥获取管理员权限控制整个平台,使用管理员权限操作核心的功能。 0x03 影响范围 KubePi <= 1.6.2 0x04 复现环境 FOFA: ti…

Ubuntu 常用命令之 ifconfig 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 ifconfig 是一个用于配置和显示 Linux 内核中网络接口的系统管理命令。它用于配置&#xff0c;管理和查询 TCP/IP 网络接口参数。 ifconfig 命令的参数有很多&#xff0c;以下是一些常见的参数 up&#xff1a;激活指定的网络接口…

基于Javaweb的线上招聘问答系统的设计与实现论文

摘 要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔阂给消除了&#xff0c;让整个世界都可以即时通话…

MSVC,cin,后一个输入影响前一个输入的情况

现象&#xff1a; 这是由于输入的name超过了她的最大长度,超过的那部分覆盖了operation中的内容

leecode题解Golang版本-300-最长递增子序列

前言 开设专栏主要是为了能够记录自己刷题过程中的所思所想&#xff0c;以便能够在未来开发工作中能够快速温习并应用。如果文章能够带给大家一些启发&#xff0c;那便是意外之喜了。 题目描述 leecode-300 最长递增子串 给你一个整数数组 nums &#xff0c;找到其中最长严格…

C++11并发与多线程

C11并发与多线程 1. 线程是进程中的实际运作单位 并发&#xff1a;两个或者更多的任务&#xff08;独立的活动&#xff09;同时发生&#xff08;进行&#xff09;&#xff1a;一个程序同时执行多个独立的任务 进程&#xff1a;一个可执行程序运行起来了&#xff0c;就叫创建了…

RocketMQ系统性学习-RocketMQ高级特性之消息大量堆积处理、部署架构和高可用机制

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 【11来了】文章导读地址&#xff1a;点击查看文章导读&#xff01; &#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f3…

MATLAB遗传算法工具箱的三种使用方法

MATLAB中有三种调用遗传算法的方式&#xff1a; 一、遗传算法的开源文件 下载“gatbx”压缩包文件&#xff0c;解压后&#xff0c;里面有多个.m文件&#xff0c;可以看到这些文件的编辑日期都是1998年&#xff0c;很古老了。 这些文件包含了遗传算法的基础操作&#xff0c;包含…

TrustZone之与非安全虚拟化交互

到目前为止&#xff0c;我们在示例中忽略了非安全状态中可能存在的虚拟化程序。当存在虚拟化程序时&#xff0c;虚拟机与安全状态之间的许多通信将通过虚拟化程序进行。 例如&#xff0c;在虚拟化环境中&#xff0c;SMC用于访问固件功能和可信服务。固件功能包括诸如电源管理之…

C语言数据结构-----常用七种排序介绍、分类、实现及性能比较

前言 ①排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 ②稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#…