用户和用户组-UID和GID

  • Linux用户和用户组
    • 用户UID
    • 用户组GID
    • /etc/passwd 文件结构
    • /etc/shadow 文件结构

Linux用户和用户组

Linux采用一个32位的整数记录和区分不同的用户。这个区分不同用户的数字被称为User ID,简称UID。Linux系统中用户分为3类,即普通用户、根用户root、系统用户。

用户UID

  • 普通用户是指所有使用Linux系统的真实用户,通常UID>500;
  • 根用户即root用户,ID为0。
  • 系统用户是指系统运行必须有的用户,但并不是真实使用者。UID为1~499。
    对于系统用户,可能还不能理解是什么。比如,在Redhat或CentOS下运行网站服务时,需要使用系统用户Apache来运行httpd,而运行MySQL数据库服务时,需要使用系统用户mysql来运行mysqld进程。这就是系统用户。

要确认自己的UID,可以使用id命令

1、查看自己的UID

[root@study ~]# id

2、可以查看系统里面有没有一个名为 dmtsai 的用户?

[root@study ~]# id dmtsai
uid=1000(dmtsai) gid=1000(dmtsai) groups=1000(dmtsai),10(wheel)

用户组GID

在Linux系统中,有用户也有用户组。不同用户组也是用数字来区分,这种用于区分不同用户组的ID被称为Group ID,也就是GID。

要确认自己所属的用户组,可以使用groups命令

[root@study ~]# groups

前面提到了,在登录Linux系统时必须要输入用户名和密码。而系统用来记录用户名、密码的最重要两个文件是/etc/passwd和/etc/shadow。下面来看看这两个文件结构

/etc/passwd 文件结构

[root@study ~]# head -n 4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

可以看到,虽然每行的内容不一样,但格式却是一致的,即每行都是使用6个分隔号“:”隔开的7列字符串。每一列所代表的含义如表2-1所示。

从表中可以了解到,/etc/passwd的第二列最早是在UNIX系统中用于记录密码的,但是这其中存在一个问题:由于每个用户都需要有读取这个文件的权限,而随着现代密码破解技术的发展,即便是加密的密码,也有被破解的可能,所以将密码从这个文件中剥离出去是非常必要的。

/etc/shadow 文件结构

目前Linux的做法是,将密码相关的信息保存到/etc/shadow中,而且默认只有root用户才有读的权限,其他人完全没有读取这个文件的可能。这种密码保存方式被称为“影子密码”。看一下/etc/shadow中的第一行内容:

[root@study ~]# head -n 4 /etc/shadow
root:$6$wtbCCce/PxMeE5wm$KE2IfSJr.YLP7Rcai6oa/T7KFhO...:16559:0:99999:7::: <==下面说明用 bin:*:16372:0:99999:7::: daemon:*:16372:0:99999:7::: adm:*:16372:0:99999:7:::

与/etc/passwd类似,/etc/shadow也是由冒号“:”隔开的,不同的是这里是8个冒号隔开的9列。每一列代表的含义如表2-2所示。
表 /etc/shadow内容格式说明

《Linux系统命令及Shell脚本实践指南》pdf
《鸟哥Linux私房菜-基础版》pdf
学无止境

用户和用户组-UID和GID相关推荐

  1. 用户账号-用户标识符:UID与GID

    虽然我们登录Linux主机的时候,输入的是我们的账号,但是其实Linux主机并不会直接认识你的"账号名称"的,它仅认识ID.ID与账号的对应关系在/etc/passwd当中. 每个 ...

  2. linux中root所属的组的gid为,linux用户和用户组

    1.用户和用户组概念 回到顶部 Linux是典型的多用户多任务操作系统,在使用linux操作系统之前,必须首先向系统管理员申请账号,然后通过帐号登录系统. 用户在登录时键入正确的用户名和口令后,即可进 ...

  3. 账号 linux_Linux入门之UID和GID(用户ID和组ID)

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

  4. linux入门教程(七) linux系统用户以及用户组管理

    关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...

  5. Linux(四) 用户、用户组

    Linux_04 -用户.用户组 一.用户与用户组记录的文件 在Linux系统当中 , 所有的系统上的账号信息都被记录在/etc/passwd这个文件中 (包括root用户) . 而个人密码记录在/e ...

  6. linux用户组登录,linux用户和用户组

    1.用户组和权限管理 用户分为三类: 1.1 超级用户:root uid=0,简单来说uid为0的用户就是超级用户. 1.2 虚拟用户:存在linux中,满足文件或者程序运行的需要,而创建的.不能登录 ...

  7. LINUX系统中的用户和用户组管理(一)【转】

    本文转载于https://www.cnblogs.com/zhongguiyao/p/9165917.html 一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及 ...

  8. Linux系统用户与用户组管理

    3.1用户配置文件和密码配置文件 用户的配置文件在/etc/passwd:文件权限见下图: 用户的配置文件/etc/passwd内的每一行代表一个用户.用户又划分三类,如下: 第一类 超级用户(系统管 ...

  9. 用户配置文件passwd、密码配置文件shadow、用户组配置文件group、用户及用户组管理

    用户配置文件passwd [root@localhost ~]# ls /etc/passwd /etc/passwd [root@localhost ~]# cat /etc/passwd 以下为内 ...

最新文章

  1. linux 硬件抽象,Linux 内核硬件抽象
  2. Serverless 在大规模数据处理的实践
  3. ARP攻击实战之WinArpAttacker
  4. 简洁!get请求和post请求的区别——Web网络系列学习笔记
  5. SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)
  6. 知识图谱中的关系方向与强度研究
  7. 多进程修改全局变量(python版)
  8. Lua脚本实现检查外业核查地类图斑
  9. 跨域问题_跨域问题如何解决?
  10. c#textBox控件限制只允许输入数字及小数点
  11. python 切割_Python切割九宫格图
  12. ftp服务器查看所有文件夹,查看ftp服务器所有文件夹
  13. 虚拟机VMware破解版教程下载
  14. Unity 制作360全景视频 全景图片流程
  15. 王牌战士服务器维修,王牌战士开服时间表 开服时间一览[多图]
  16. 个人项目——二柱子的生成小学生四则运算题程序
  17. “凝心聚力,携手共进”辰视智能2021第一期登山公益活动顺利举行
  18. JavaCV人脸识别三部曲之三:识别和预览
  19. 计算机bootmgr丢失,如何修复BOOTMGR缺少错误
  20. 这个夏天:应用试客已将积分墙逼到墙角,ASO路上的那些掮客

热门文章

  1. SWUSTOJ #480 Locker doors
  2. 单例模式:懒汉模式和饿汉模式
  3. win7 64位 Python3.5.1 scipy,numpy, Gensim主题模型包安装
  4. 阿里巴巴21年校招面经题目解答
  5. 网页中文字及图片实现滚动效果
  6. opencv矩阵乘法
  7. Rust 高级编程 变性的直观解释
  8. 关于用.9.png格式处理图标失真问题
  9. ganglia离线安装_Ganglia 监控实战!
  10. 【报告分享】2021线上新品消费趋势报告-阿里研究院天猫小黑盒(附下载)