标签: uid

重新排列 GPG 中的 UID

在 gpg 中,是否可以在 PGP 密钥的 UID 列表中向上或向下移动 UID?

我意识到这纯粹是一种装饰性的东西,但我可能想用它来显示我的地址之间的优先级,如果可能的话应该先使用哪个。

pub   4096R/0xAABBD62D0BA66C66 2014-09-02
uid                 [ultimate] Mr. Foo Bar <fourth@example.com>
uid                 [ultimate] Mr. Foo Bar <first@example.com>
uid                 [ultimate] Mr. Foo Bar <third@example.com>
uid                 [ultimate] Mr. Foo Bar <second@example.com>
Run Code Online (Sandbox Code Playgroud)

gpg uid

23
推荐指数
1
解决办法
7416
查看次数

除了 /etc/passwd 之外还有包含/定义我的 UID 的文件吗?

尝试了解 UID 和 GID。
各种在线阅读让我相信我的 UID 保存在 中/etc/passwd,但在我工作的服务器上似乎并非如此:

$ whoami
user1
$ cat /etc/passwd | grep user1
$
Run Code Online (Sandbox Code Playgroud)

除此之外是否还有(其他)文件/etc/passwd可以包含我的 UID?

(我假设 UID 与 GID 类似,因为某个地方有一个文件包含它。我在该文件中找到了我感兴趣的 GID /etc/group

我知道我可以使用命令获取我的 UID id -u,但对于这个问题,我特别感兴趣的是了解是否有包含它的文件。

uid

11
推荐指数
1
解决办法
2837
查看次数

“id -r”命令的正确语法

我想看看是否id -r会打印出登录系统的用户的 UID 或用户名,尽管有任何su's 或sudo's 。我对这样做很感兴趣,所以我可以让人们更加负责并相应地定制脚本功能(即:他们在脚本上发出 sudo 并从登录用户的主目录中提取信息)。

我实现了sudo集合,SUDO_USER但我不想依赖它,因为它是一个可由用户修改的变量,并且它只有发出最近 sudo 的用户的用户名(即:sudo -i ; sudo -iu randomUser ; echo $SUDO_USER打印出“root”而不是实际用户)。

手册页中的任何内容或我可以在网上找到的内容似乎都表明此命令的正确用法是什么,并且明显的排列不起作用:

[root@ditirlns03 ~]# id -r
id: cannot print only names or real IDs in default format
[root@ditirlns03 ~]# id -r jadavis6
id: cannot print only names or real IDs in default format
[root@ditirlns03 ~]# id -r root
id: cannot print only names or real IDs in default format
Run Code Online (Sandbox Code Playgroud)

在这一点上,我仍然不确定 …

linux command-line coreutils audit uid

7
推荐指数
1
解决办法
4011
查看次数

新 Linux 用户命名空间中的第一个进程需要调用 setuid()?

我正在学习 Linux 用户命名空间,并且我观察到一种对我来说并不完全清楚的奇怪行为。

我在初始用户命名空间中创建了一系列 UID,我可以通过newuidmap命令将子用户命名空间中的 UID 映射到这些 UID 。这些是我的设置:

$ grep '^woky:' /etc/subuid
woky:200000:10000
$ id -u
1000
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建一个新的用户命名空间并将其 UID 范围映射[0-10000)[200000-210000)父用户命名空间中:

因此,即使newuidmap成功完成,新用户命名空间内部和外部的 UID 也没有更改。

然后我找到了下面这篇文章 http://www.itinken.com/blog/2016/Sep/exploring-unprivileged-containers/让我大开眼界。我已经尝试过前面的场景,但使用以下 …

linux users namespace uid

6
推荐指数
1
解决办法
1281
查看次数

从 Active Directory 分配 UID 和 GID

我的 CentOS 7 机器已成功加入域 FOOBAR(由 验证realm list),以下是来自 AD(非本地)的用户的信息:

[root@centos7 ~]# id jdoe@FOOBAR.GLOBAL
uid=5631533(jdoe@FOOBAR.GLOBAL) gid=5600513(domain users@FOOBAR.GLOBAL)
groups=5600513(domain users@FOOBAR.GLOBAL),5631532(othergroup@FOOBAR.GLOBAL) 
Run Code Online (Sandbox Code Playgroud)

UID 和 GID 是如何分配的?是否有可能以某种方式将它们映射到某个所需的值?

active-directory uid gid

5
推荐指数
1
解决办法
1万
查看次数

关于保存用户ID的问题

据我了解,不同的用户ID如下(从进程的角度):

  • 真实用户 ID:拥有进程的用户 ID
  • 有效用户 ID:确定当前允许做什么和不允许做什么的用户 ID
  • 保存用户ID:基本是原来的有效用户ID,必要时可以恢复到原来的有效用户ID

现在我有两个问题:

  1. 在程序开始时将有效的用户 ID 保存在一个变量中会不会使保存的用户 ID 变得不必要?

  2. 如何在 C 程序中检索保存的用户 ID?我找不到任何这样做的功能。

linux users setuid uid

5
推荐指数
1
解决办法
1184
查看次数

可执行文件发出“需要更改 pax 归档卷”

我正在尝试./configure为软件运行一个可执行文件(我正在使用 PuTTY 通过远程 Linux 机器执行此操作),并且在某些时候它说:

ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
Run Code Online (Sandbox Code Playgroud)

所以,我将此警告发送给软件的制造商,他们说 pax 错误是我的 UID 大于 21 位的结果。他们建议在运行之前尝试这个./configure

ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,它提示我输入一些东西,我不知道该输入什么。

我已经在网上查看并找不到任何可以解决此问题的方法。能解释一下pax是什么意思吗?这是某种存档,但它实际上是我的文件浏览器上的文件夹还是什么?

开发人员发送给我的“我的 UID 大于 21 位”是什么意思?

我是否需要为这个人输入一些东西,或者如果我退出会发生什么?好像软件可能无法编译。

任何/所有建议/提示将不胜感激!我几乎没有软件工程经验,但学习!

linux pax uid

5
推荐指数
1
解决办法
161
查看次数

保留一系列匿名 UID;/etc/subuid

我需要一系列 uid(比如几千个)才能使用 setuid-root 工具。是否有注册这样一个范围的协议,或者我只是选择一个范围并希望没有其他程序会使用这些 uid?

(我宁愿不要/etc/passwd用这个来制造混乱。)

我遇到了/etc/subuid(在https://www.mankier.com/8/usermod 中记录的其他地方),它似乎做了类似的事情。究竟是什么/etc/subuid,我可以用它来为我的 setuid 工具注册一个范围吗?

docker 似乎将这些/etc/subuid东西用于某种 uid 映射。如果我为我的应用程序创建一个新用户,通过为它保留一个 subid 范围/etc/subuid,然后将它与 docker 一起使用,这是让系统的其余部分知道我保留了一个 uid 范围的好方法吗?

useradd docker uid usermod

3
推荐指数
1
解决办法
1182
查看次数

bash 可以使用 uid 0 和不同的 euid 运行吗?

我正在编写一些bash代码,我想检查脚本是否具有 root 权限。我从其他人那里看到的所有代码都只检查$EUID == 0. 完全有可能让其他程序以 UID = 0 和 EUID > 0 运行。我的代码不应该检查这两者吗?或者 bash 有什么东西可以防止这种(奇怪的)情况发生吗?

对于那些想要看到这种情况的人,这里有一个概念证明:

[root@new-host bennett]# cp /bin/sleep .
[root@new-host bennett]# chown bennett sleep
[root@new-host bennett]# chmod 4755 sleep
[root@new-host bennett]# ll sleep 
-rwsr-xr-x. 1 bennett root 32188 Sep  9 02:38 sleep
[root@new-host bennett]# ./sleep 1000 &
[root@new-host bennett]# ps -e -o user= -o ruser= -o comm= | awk '$1 != $2'
bennett  root     sleep
Run Code Online (Sandbox Code Playgroud)

回顾一下这个问题:在任何情况下bash都可能遇到这样的情况吗?(( $UID == 0 && …

linux bash setuid uid

3
推荐指数
1
解决办法
7740
查看次数

用户名(与 uids 相比)有多重要?

背景: 我最近读到了一个freedesktop.org-bug,它允许systemctluid>执行任何命令INT_MAX。因此我跑了:

root@host$> useradd -u 4000000000 largeuiduser
root@host$> su largeuiduser
largeuiduser@host$> systemctl ["whatever"]
[bug exists, and "whatever" gets executed]
largeuiduser@host$> exit
root@host$> userdel largeuiduser
Run Code Online (Sandbox Code Playgroud)

寻找一种我后来发现的更清洁的方法

root@host$> setpriv --reuid 4000000000 systemctl ["whatever"]
[bug exists, and "whatever" stuff gets executed]
Run Code Online (Sandbox Code Playgroud)

表明为了利用该漏洞,不需要(临时)用户名。这也表明,我不太确定:用户名实际上有多重要?.

问题 因此我的问题是。从内核(linux/posix)的角度来看,用户名有多可有可无?是否需要,可以使用吗?

我的怀疑是,用户名只是一种专门用于用户空间的“便利设施”。

一个好的答案将试图通过提供有关用户名在哪些设置中成为“必需”以及在哪些设置中它们是“消耗性”的信息来对此有所了解。

linux users kernel uid

3
推荐指数
1
解决办法
108
查看次数

标签 统计

uid ×10

linux ×6

users ×3

setuid ×2

active-directory ×1

audit ×1

bash ×1

command-line ×1

coreutils ×1

docker ×1

gid ×1

gpg ×1

kernel ×1

namespace ×1

pax ×1

useradd ×1

usermod ×1