什么是UID与GID?

    登录Linux时,看起来是登录的账号,其实在计算机中仅仅认识ID,而每个登录的用户都会取得两个
ID这就是GID与UID。UID也称为用户ID(UserID),GID也称为用户组ID(Group ID)。操作系统就是利用
它两来判断文件的所有者与用户组的。

UID

   提到UID,就必须提一下专门管理用户UID的文件/etc/passwd。以下是我自己电脑的/etc/passwd
文件头几行:
[yiranblade@localhost ~]$ head /etc/passwd
root<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>0:0:root:/root:/bin/bash
bin<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>1:1:bin:/bin:/sbin/nologin
daemon<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>2:2:daemon:/sbin:/sbin/nologin
adm<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>3:4:adm:/var/adm:/sbin/nologin
lp<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>4:7:lp:/var/spool/lpd:/sbin/nologin
sync<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>5:0:sync:/sbin:/bin/sync
shutdown<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>6:0:shutdown:/sbin:/sbin/shutdown
halt<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>7:0:halt:/sbin:/sbin/halt
mail<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>8:12:mail:/var/spool/mail:/sbin/nologin
operator<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>11:0:operator:/root:/sbin/nologin
    我们以第一行的root账户为例,第一个字段就是账号名称,对应着UID。第二个字段为密码,早期的UNIX密码放于此字段,后来由于安全问题将密码数据改放到/etc/shadow中,所以此处看到的是一个x。第三个字段就是用户标识符即UID,一般情况下0代表系统管理员,1-499代表系统账号,500-65535代表可登录账号。第四个字段为其GID即用户组ID。第五个字段为用户信息说明列。第六个字段为该用户的主文件夹,例如root的主文件夹为/root。第七个字段表示用到的shell。

GID

    GID相关的是/etc/group文件,同样的以下为自己电脑的相关文件:
[yiranblade@localhost ~]$ head /etc/group
root<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>0:
bin<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>1:
daemon<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>2:
sys<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>3:
adm<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>4:
tty<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>5:
disk<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>6:
lp<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>7:
mem<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>8:
kmem<img align="absmiddle" alt=":x:" class="emoji" src="http://yiranblade.cn/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>9:
    这个文件每一行为一个用户组,第一个字段为用户组名称。第二个字段为用户组密码。第三字段就是用户组标识符。第四个字段代表用户组支持的账号名称每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名。
  • 有效用户组和初始用户组

        关于用户组必须提一下初始用户组和有效用户组这一概念,在/etc/passwd中第四个字段的GID即为初始用户组,也就是用户登录后立即获得权限的用户组。而有效用户组可以这样理解,比如一个账号同时可以隶属于好几个用户组,利用touch创建一个文件,那么这个文件所属的用户组即为其有效用户组,通常可以使用groups命令查看当前所属的用户组,然后输出的第一个为有效用户组,用newgrp命令可以更改有效用户组。
    

结束语

      一般情况下当登录linux后系统会先找寻/etc/passwd是否有输入账号,没有则跳出,有则读出对应UID与GID,随后进入/etc/shadow核对密码,一切完成后则进入shell管控。由此可见,UID与GID在日常的账户管理中发挥着重要的作用,一不小心就有可能访问不了自己的文件了,所以不要随便改动自己的/etc/passwd与/etc/group文件哦~

Linux中的UID与GID相关推荐

  1. discuz修改用户uid_你知道Linux中的UID和GID的含义吗

    你知道Linux中的UID和GID的含义吗 是不是大家看到UID(user id)和GID(group id),都会立马说不就是用户和用户组ID. 但是. 当我们登陆Linux系统时,输入自己的用户名 ...

  2. Linux中的UID、GID和SID

    一. UID和GID vi /etc/passwd查看用户配置情况 GID 是组ID (Group Identify),表示组的身份唯一标识 UID 是用户ID (User Identify),表示用 ...

  3. linux 命令修改uid,修改Linux用户的UID、GID

    修改Linux用户的UID.GID 对于NFS共享文件,保留文件权限,需要UID.GID与nfs-server端一致! 试验环境:Centos6.5_64/172.24.0.26 01.用户的UID和 ...

  4. 【Linux】Linux 中的UID

    参考:https://www.cnblogs.com/bwangel23/p/4225818.html 一.Linux 中的UID 1.1 每个进程的三个UID值 内核为每个进程维护的三个UID值.这 ...

  5. docker 容器中的 uid 和 gid

    先来了解下 uid 和 gid uid 和 gid 由 Linux 内核负责管理,并通过内核级别的系统调用来决定是否应该为某个请求授予特权.比如当进程试图写入文件时,内核会检查创建进程的 uid 和 ...

  6. docker -v 覆盖了容器中的文件_10分钟让你理解 docker 容器中的 uid 和 gid

    默认情况下,容器中的进程以 root 用户权限运行,并且这个 root 用户和宿主机中的 root 是同一个用户.听起来是不是很可怕,因为这就意味着一旦容器中的进程有了适当的机会,它就可以控制宿主机上 ...

  7. 修改linux进程gid,修改Linux用户的UID、GID

    对于NFS共享文件,保留文件权限,需要UID.GID与nfs-server端一致! 试验环境:Centos6.5_64/172.24.0.26 01.用户的UID和GID不能被占用 [root@26 ...

  8. Linux用户标识符UID与GID和用户账号

    1.用户标识符UID和GID UID        表示的是用户的标识(User Identification) GID        表示的是用户组的标识(Group Identification) ...

  9. 修改Linux用户的UID、GID

    对于NFS共享文件,保留文件权限,需要UID.GID与nfs-server端一致! 试验环境:Centos6.5_64/172.24.0.26 01.用户的UID和GID不能被占用 [root@26 ...

最新文章

  1. 傅里叶变换取代Transformer自注意力层,谷歌这项研究GPU上快7倍、TPU上快2倍
  2. 《大数据系统基础》实践项目期末答辩顺利举行 校企联手打造精品实践项目见真章
  3. Linux内核源码学习
  4. 理解GO CONTEXT机制
  5. 在一个C程序中,main()函数可以放在哪?
  6. java怎么计算等式_谁能解释计算这个等式的步骤? Java的
  7. html5怎么在画布怎么旋转,javascript – 如何旋转HTML5画布的现有内容?
  8. win7下使用Taste实现协同过滤算法
  9. c++ string详解 assign
  10. Android ADB 用法
  11. 优秀的基于VUE移动端UI框架合集
  12. hualinux 学生党 建议:读书就是为了社会目标做准备
  13. 支持lodop的服务器,clodop云打印服务器未响应(lodop打印)
  14. 36个顶级数据分析方法与模型!
  15. 计算机 管理 mmc 注册表,win10注册表编辑器没有mmc怎么办_win10恢复注册表mmc文件夹的方法-win7之家...
  16. 开放IPTV论坛(OIPF)的HBB TV标准规范
  17. java rar解压
  18. 小程序如何跳转到公众号文章中
  19. 大学计算机系的电视剧,陈若轩成肖奈之后又一个计算机系校草!合作徐娇和最美学姐...
  20. flutter 保存图片

热门文章

  1. 股权登记日和除权除息日
  2. win2003控制面板不见了,打开“控制面板”的方法,安全策略
  3. java zip文件加密_java自动压缩文件并加密
  4. ppm调制解调器 matlab,PPM脉冲位置调制解调器.doc
  5. 数据库--死锁产生原因及解决方法
  6. 调用微信内置浏览器实现微信打开的网页上的图片能点击打开的效果
  7. daniel powter
  8. Nice Songs
  9. android播放ts格式文件,android上实现离线缓存播放加密HLS视频和未加密的HLS视频...
  10. Word标题样式关联多级列表