老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Linux中用户id是什么意思?

老男孩IT教育

行业新闻

2023年3月20日 17:21

在Linux系统中,用户id英文全称为User ID,简称UID,是指用户标识符,与用户名唯一对应。那么Linux中用户id是什么意思?本文为大家详细介绍一下。

  在Linux系统中,用户id英文全称为User ID,简称UID,是指用户标识符,与用户名唯一对应。那么Linux中用户id是什么意思?本文为大家详细介绍一下。

Linux用户ID

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

  Linux系统中,每个用户的ID细分为2种,分别是用户id和组ID。这与文件有拥有者和拥有群组两种属性相对应,下面就带大家了解一下用户ID。

  Linux用户ID--UID

  用户id,全称用户标识符,在类Unix系统中是内核用来辨识用户的一个无符号整型数值,亦是Unix文件系统与进程的必要组成部分之一。

  UID--用户标识号,它与用户名唯一对应。Linux中超级用户root的UID为0.如果您想让系统显示您的用户名,UID,组名,GID以及您所属的其他组的名称,可利用id命令。修改UID一般用:usermod -u。

  UID是系统中用来标识用户的标识符,启动的进程的UID就是当前登录用户的UID,查看用户UID可使用id -u <username>命令。

  需要注意的是,权限检查的时候是对euid检查,通常情况下进程的euid是和uid相同的。

  用户的UID大于500的都是非系统账号,500以下的都为系统保留的账号,比如root账号,至高权限的账号的UID为0,我们创建用户的时候默认的账号的UID都是大于500,如果你要指定账号的UID可以使用-u这个参数来指定。其它没有什么大的意义。

  数值范围

  在不同的系统中,UID的值的范围也有所不同,但一般来说UID都是由一个15位的整数表示,其范围在0-32767之内,且有如下限制:

  超级用户的UID总为0。

  按传统的做法,nobody与超级用户相反,总占有数值最大的PID,即32767;相对应的,现今的系统为nobody分配的UID则在系统保留范围或是65530-65535的范围内。

  数值于1-100内的UID约定预留给系统使用,有些手册则推荐在此基础上再预留101-499,甚至是101-999的UID以作备用;而相对应的,在Linux中用useradd命令创建第一个用户时,默认为之分配的UID则为1000。

  除此之外,有些特殊的系统也支持16位的UID,因而UID的数目可以扩展到65536个;现代系统支持32位的UID,这也使UID数目进一步扩充到4294967296个成为可能。

  老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。

  推荐阅读:

  Linux系统中proc是什么文件系统?

  Linux系统下彻底删除文件的命令是什么?

  服务器为什么选择用Linux系统?

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。