精华内容
下载资源
问答
  • linux uid
    千次阅读
    2015-12-30 14:59:09

    最近在運行Jenkins容器時出現了權限問題,其原因是我掛載的volume的owner uid與容器裏的jenkins uid不一致,導致無法向掛載的卷寫數據。

    我發現dockerfile裏指定jenkins的uid爲1000.爲什麼是1000?爲什麼不是其它值?我的host主機裏有uid爲1000的user嗎?

    我查看了/etc/passwd,還真有uid爲1000的用戶。看來uid爲1000的用戶是除了root以外,第一個普通用戶的uid。真的是這樣嗎?問了Google後明白了一點,寫下來備忘。

    uid爲0是root用戶;其實是所有uid爲0的用戶都是超級管理員。這意味着,你的系統裏可以有多個uid爲0的用戶,而且這個用戶的name不一定非要叫root. 但是請不要添加其它uid爲0的用戶,因爲這可能會引些系統混亂哦。

    1~99的uid傳統是保留給特殊的系統用戶(有時稱做pseudo-users),比如www-data,mail,news,backup等。這些用戶也都是管理員,執行一些管理任務,但是它們不需要超級管理員那麼大的權限。

    65534通常分配給nobody這個用戶。

    接下來就是沒有特權的普通用戶了,有一些發行版是從100開始分配普通用戶的uid的,有一些發行版如redhat,是從500開始。debian是從1000開始的。

    所以在ubuntu或debian系統裏的第一個普通用戶的uid肯定是1000,也是因爲這個,很多docker images裏要求的uid都是1000,因爲這個uid的用戶在host主機上應該是肯定存在的。

    更多相关内容
  • Linux uid和gid

    千次阅读 2021-05-16 08:34:15
    Linux uid和gid教程我们在登陆 Linux 系统时,虽然输入的是自己的用户名和密码,但其实 Linux 并不认识你的用户名称,它只认识用户名对应的 ID 号(也就是一串数字)。Linux 系统将所有用户的名称与 ID 的对应关系都...

    Linux uid和gid教程

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

    也就是说,Linux 的用户名并无实际作用,仅是为了方便用户的记忆而已。

    Linux用户id和组id详解

    在 Linux 中,每个文件的拥有者都有两个属性,即,用户 id(UID)和组 ID(GID),我们可以使用

    ls -l haicoder.txt

    运行后,终端输出如下:

    709524846ace81f83656caf0af5bfe96.png

    我们可以看到,这里的两个 root,就分别显示的是用户名和组名,其实,Linux 并不认识这个用户名和组名,而是当显示文件属性时,系统会根据 /etc/passwd 和 /etc/group 文件中的内容,分别找到 UID 和 GID 对应的用户名和群组名,然后显示出来。

    其实,显示文件属性时,就是拿到文件所属的用户 id(UID),到 /etc/passwd 文件中,找到其对应的用户名以及拿到文件所属的组 id(GID),到 /etc/group 文件中,找到其对应的用户组名显示。

    现在,我们使用

    cat /etc/passwd | grep root

    运行后,终端输出如下:

    7685b20f225ec8930d0cda5cfde3e474.png

    我们看到,输出了 root 用户的信息,同样,我们可以在 /etc/group 文件中查找 root 用户组的信息,具体命令如下:

    cat /etc/group | grep root

    运行后,终端输出如下:

    cf4cd721032e5c35e02a6ddac0aac12f.png

    我们看到,输出了 root 用户组的信息。

    Linux uid和gid总结

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

    展开全文
  • Linux UID和GID(用户ID和组ID)

    千次阅读 2021-05-16 17:45:27
    Linux系统将所有用户的名称与ID的对应关系都存储在/etc/passwd文件中。说白了,用户名并无实际作用,仅是为了方便用户的记忆而已。要论证 "Linux系统不认识用户名" 也很简单,在前面章节,我们曾经在网络上下载过 "....

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

    说白了,用户名并无实际作用,仅是为了方便用户的记忆而已。

    要论证 "Linux系统不认识用户名" 也很简单,在前面章节,我们曾经在网络上下载过 ".tar.gz" 或 ".tar.bz2" 格式的文件,在解压缩之后的文件中,你会发现文件拥有者的属性显示的是一串数字,这很正常,就是因为系统只认识代表你身份的 ID,这串数字就是用户的 ID(UID)号。

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

    20191018_1571332878252937.gif

    图 1 文件的拥有者和群组属性

    从图 1 中可以看到,该文件的拥有者是超级管理员 root,拥有群组也是 root。读者可能会问,既然 Linux 系统不认识用户名,文件是如何判别它的拥有者名称和群组名称的呢?

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

    /etc/passwd 文件和 /etc/group 文件,后续文章会做详细讲解,这里只需要知道,在 /etc/passwd 文件中,利用 UID 可以找到对应的用户名;在 /etc/group 文件中,利用 GID 可以找到对应的群组名。

    做个小实验,笔者所用的 Linux 系统中,常用的有两个账户,分别为 root 超级管理员账户和 found5.com 普通账户,我们先使用 root 账号登陆并 Vim /etc/passwd,在该文件中找到 found5.com 账户并将其 UID 随意改一个数字,这时当你查看普通账户拥有的文件时,你会发现所有文件的拥有者不再是 found5.com,而是数字。

    具体执行过程如下所示:

    #查看系统中是否存在found5.com这个用户[root@livecd ~]#grep 'found5.com' /etc/passwd

    found5.com:x:500:500:found5.com:/home/centoslive:/bin/bash

    [root@livecd ~]#ll -d /home/centoslive

    drwx------. 23 found5.com centoslive 4096 Apr 9 09:37 /home/centoslive

    [root@livecd ~]#vim /etc.passwd

    #修改found5.com账户中的UID(第一个 500)为 2000

    [root@livecd ~]#ll -d /home/centoslive

    drwx------. 23 500 centoslive 4096 Apr 9 09:37 /home/centoslive

    #可以看到,之前的 found5.com 变为了 500,因为修改了UID,导致 500 找不到对应的账号,因此显示数字

    #记得最后将其再手动改正过来

    [root@livecd ~]#vim /etc.passwd

    #修改found5.com账户中的UID从 2000 改为 500

    由于 found5.com 账户的 UID 已经改为 2000,但其 home 目录却记录的是 500,会导致此用户再次登录时无法进入自己的home目录。

    注意,本节为了说明 ID 和用户名的对应关系,所以才将 /etc/passwd 文件中用户的 UID 做了更改。此操作很可能会导致某些程序无法进行,因此 /etc/passwd 文件不能随意修改。

    本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/910.html

    展开全文
  • LinuxLinux 中的UID

    2022-05-28 02:56:25
    Linux 中的UID

    参考:https://www.cnblogs.com/bwangel23/p/4225818.html

    一、Linux 中的UID

    1.1 每个进程的三个UID值

    内核为每个进程维护的三个UID值。这三个UID分别是RUID(Real UID,实际用户ID)EUID(Effective UID,有效用户ID)SUID(Saved Set-user-ID,保存的设置用户ID)

    • RUID:我们当前以哪个用户登录,我们运行程序产生进程的RUID就是这个用户的UID。
    • EUID:指当前进程实际以哪个UID来运行。一般情况下EUID等于RUID;但如果进程对应的可执行文件具有SUID权限(也就是rws的s),那么进程的EUID是可执行文件的所有者的UID
    • SUID:EUID的一个副本,与SUID权限有关。

    1.2 二进制文件的SUID权限

    以passwd这个可执行文件为例。
    password文件的权限为:-rwsr-xr-x
    passwd的所有者是root,但是其他用户对于passwd也有执行权限,并且passwd自身具有SUID权限(rws的s)。
    那么,当非root用户执行passwd这个可执行文件的时候,产生的进程的EUID,就是root用户的UID。换言之,这种情况下,产生的进程,实际以root用户的ID来运行二进制文件。

    需要说明的是,SUID权限具有时效性仅在执行该文件的过程中有效

    二、setuid、setresuid函数

    2.1 setuid函数

    函数原型:int setuid(uid_t uid);

    在Linux中, setuid(uid)函数的执行步骤为:
    (1)如果由Root权限进程(EUID为0的进程)调用,则将进程的RUID,EUID和SUID都设置为uid,返回0
    (2)如果由普通权限进程调用,且uid等于RUID或uid等于SUID,则将进程的EUID设置为uid,返回0
    (3)如果由普通权限进程调用,且uid不等于RUID或SUID,则设置errno为EPERM,并返回-1(表示执行失败)

    上文中,执行password的进程,EUID是password的所有者的UID,也就是root用户的UID,也就是0。所以,属于情况(1)。

    su文件同样是-rwsr-xr-x权限。所以,安卓中,普通进程通过Runtime.getRuntime().exec(“su”),发起一个shell进程,去执行su的时候,同样属于情况(1)。

    2.2 setresuid函数

    参考https://blog.csdn.net/damotiansheng/article/details/39674115

    函数原型:int setresuid(uid_t ruid, uid_t euid, uid_t suid);

    满足以下条件之一时,setresuid被执行:
    ①当前进程的euid是root(AID_ROOT)
    ②三个参数ruid、euid、suid中的每一个,都和当前进程的某个UID值 相等

    例如:

    • 如果当前进程的RUID=100,EUID=0,SUID=300
      则setresuid(200,300,100)可以执行,因为原来的euid=0
    • 如果当前进程的RUID=100,EUID=300,SUID=200
      则setresuid(200,300,100)可以执行,因为这三个参数都是当前UID中的某一个;
      但setresuid(100,200,400)不能执行,因为400不等于当前UID中的任意一个。

    三、getuid、geteuid函数

    getuid返回当前进程的RUID
    geteuid返回当前进程的EUID

    四、安卓中 app执行su获取root用户权限的过程

    参见:https://blog.csdn.net/qq_39441603/article/details/124996277

    展开全文
  • Linux下查看UID

    千次阅读 2021-05-08 21:31:02
    方法一:使用 id 命令使用id 命令可以很轻松的通过用户名查看UID、GID。命令格式id [选项]... [用户名]命令选项-a 忽略,兼容其它版本-Z, –context 只输出当前用户的安全上下文-g, –group 只输出有效的GID-G, –...
  • 目录一、背景进程权限最小权限原则linux系统安全模型用户用户组用户和组的关系安全上下文进程的用户ID函数setreuid和setregid函数seteuid和setegid思考:UID能为TEE安全世界带来什么用处呢? 一、背景 Linux的用户在...
  • uid、gid三、用户主目录1. Linux中,用户主目录(家目录)为:`~`2. 不同用户的主目录相互独立(1)工作目录(2)用户主目录参考链接 一、Linux 多用户 1. Linux系统可以有多个用户 Linux系统是一个多用户多任务...
  • linux更改用户的uidHow to find and change a user’s UID on Linux? 如何在Linux上查找和更改用户的UID? Find the UID of a user: 查找用户的UID: id -u $USER_NAMEChange a user’s UID: 更改用户的UID: # ...
  • 命 令:id功能说明:查看显示目前登陆账户的uid和gid及所属分组及用户名语 法:id [-gGnru][--help][--...这个命令在溢出时经常用到,查看是不是溢出root成功,执行一下id命令,显示uid=0,则成功了。参 数:-g或...
  • LinuxUID和EUID

    千次阅读 2019-03-19 11:44:51
    UID:真实的用户ID 进程的UID就是其创建者的用户ID,用于标识进程的属主。 EUID:有效的用户ID (1)只有进程的创建者和root用户才有权利对该进程进行操作。于是,记录一个进程的创建者(也就是属主)就...
  • linux--修改用户对应的uid

    千次阅读 2022-05-09 15:22:32
    修改用户的uid1.uid相关知识1.1.1 ...Linux 并不识别用户名称(比如work、root等),而是根据用户名对应的 ID 号(即uid)识别不同类型的用户,不同的uid对应不同用户的权限。 1) uid=0 当 UID 是 0 时,代表这个账
  • 请考虑以root权限运行的用户命名空间shell的以下脚本(命名空间中的UID 0,外部非特权):# cat /proc/$$/status | grep CapEffCapEff: 0000003cfdfeffff# ls -altotal 8drwxrwxrwx 2 root root 4096 Sep 16 22:09 ....
  • Linux-各种UID

    千次阅读 2018-03-30 19:45:22
    UID是系统中用来表示用户的标识符,启动的进程的uid就是当前登录用户的uid,查看用户uid可使用id -u <username>命令 需要注意的是,权限检查的时候是对euid检查,通常情况下进程的euid是和uid相同的...
  • Linux系统中每个用户都有一个唯一的UID,超级用户的UID是 。0.5用分数表示是______,约成最简分数是______.线偏振光在n1和n2介质的界面上发生全反射,线偏振光电矢量的振动方向与入射面成45°.证明当时(θ是入射角)...
  • linux:通过uid和gid找到用户名字和用户组名字文章目录一,函数getpwuid简介:二,函数getpwuid使用:三,函数getgrgid简介:四,函数getgrgid使用: 一,函数getpwuid简介: // 终端输入命令 man getpwuid /* #...
  • Linux用户不同UID分类区别

    千次阅读 2019-11-18 18:24:17
    UID(User Identify),作为Linux中用户在系统中的唯一身份识别,Linux 并不识别用户名称,而是用用户名对应的 ID 号来识别不同类型的用户,不同的uid对应不同用户的权限,以下就是对不同uid用户的说明: ...
  • Linux 普通用户 uid 范围是多少?

    万次阅读 2020-04-30 21:09:09
    一、一道题目 用 awk 统计普通用户的个数 awk -F: '$3>$uid{a++}END{print a}' /etc/passwd 那么,这里的变量 $uid , 应该是多少 ? 二、uid uid 范围是 0-65535 root : 0 系统用户 : CentOS5, 6 : 1 ~ 499 ...
  • 2.并且可以通过 id 用户名 来查看该用户在passwd文件中的用户编号UID和组编号GID的信息;如果在查看该信息时,没有加用户名,那么查看的是当前用户下的相关信息。 3.在查看文件中该用户的相关信息时,由于passwd文件...
  • Linux文件特殊权限SGID-UID详解
  • Linux中的UID与GID

    万次阅读 2018-06-25 10:11:06
    登录Linux时,看起来是登录的账号,其实在计算机中仅仅认识ID,而每个登录的用户都会取得两个 ID这就是GID与UIDUID也称为用户ID(UserID),GID也称为用户组ID(Group ID)。操作系统就是利用 它两来判断文件的所有者与...
  • linux修改用户uid gid

    千次阅读 2021-09-27 17:15:25
    1、修改jiba用户的uid [root@server1 mfs]# usermod -u 123 jiba #修改jiba用户的uid为123 2、修改jiba组的gid [root@server1 mfs]# groupmod -g 123 jiba #修改jiba用户的gid为123 3、jiba用户的家目录下面的...
  • Linux系统管理---linux用户管理

    万次阅读 2022-02-10 09:21:53
    2.6.x内核(uname -r查看内核版本)以后的Linux系统UID可以支持2^32的UID了(修改最大UID范围/etc/login.defs)。 第四列:初始组ID(GID) 为更加灵活的管理用户的权限,Linux里还采用用户组的概念。 有效用户组与...
  • Linux的用户UID

    千次阅读 2017-06-12 15:00:00
    对应Linux系统核心来说,判断用户是否具有root权限主要是通过其uid来进行,如果某个用户的uid为0,则系统会将其当成root用户。直接修改passwd、shadow文件或者使用usermod命令都可以将用户的uid设置为0,可以说UID为...
  • Linux 系统中 UID 大于等于 1000 的普通用户都删除 #!/bin/bash #先用 awk 提取所有 uid 大于等于 1000 的普通用户名称 #再使用 for 循环逐个将每个用户删除即可 user=$(awk -F: '$3>=1000{print $1}' /etc/...
  • linux 查看用户的uid,gid

    万次阅读 多人点赞 2017-11-14 17:11:09
    1.可以通过查看/etc/passwd文件来确定自己的uid和gid cat /etc/passwd | grep 你的用户名例子: lan@lan:~/桌面/文件和目录$ cat /etc/passwd |grep lan lan:x:1000:1000:lan,,,:/home/lan:/bin/bash 其中x后面的...
  • 用户和用户组-UID和GID

    千次阅读 2022-03-29 15:31:20
    UID和GIDLinux用户和用户组用户UID用户组GID/etc/passwd 文件结构/etc/shadow 文件结构 Linux用户和用户组 Linux采用一个32位的整数记录和区分不同的用户。这个区分不同用户的数字被称为User ID,简称UIDLinux系统...
  • Linux系统UID和GID详解

    千次阅读 2017-06-05 10:02:09
    Linux系统UID和GID详解  一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.   如果是一个可执行文件, 那么在执行时, 一般该文件只...
  • Linux中修改用户UID和组GID的方法

    万次阅读 2019-12-30 15:53:56
    ··· [root@weblog u01]# id ...uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) [root@weblog u01]# usermod -u 1002 oracle [root@weblog u01]# id oracle uid=1002(oracle) gid=1000(oi...
  • 修改Linux用户的UID、GID

    千次阅读 2021-05-09 03:05:26
    修改Linux用户的UID、GID对于NFS共享文件,保留文件权限,需要UID、GID与nfs-server端一致!试验环境:Centos6.5_64/172.24.0.2601、用户的UID和GID不能被占用[root@26 ~]# id mvpuid=501(mvp) gid=501(mvp) groups=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,209
精华内容 86,883
关键字:

linux uid