ID继承——哪些ID?

ID继承——哪些ID?

我正在学习 UNIX 文件权限/ID 继承,想澄清一些事情:

我有权限、用户、组和文件的列表:

-rwxr-xr-x userA  A   foo
-rw-rwsr-x userB  B   bar
  • userA的RealUID是100,userA的GroupID是240
  • userB的RealUID是102,userB的GroupID是241

我需要知道如果 userB 执行会发生什么foo

  1. userB 的 RealUID 是否更改为 userA 的 RealUID?

  2. userB 的EffectiveUID 是否更改为userA 的EffectiveUID?

由于userB正在执行userA的文件,那么userB的RealUID是否被保存到SavedUID中,然后执行后又恢复正常?

执行文件是否也会更改 userB 的 GroupID?

答案1

首先,用户没有 RealUID。用户有UID。时期。 (GID 的情况是一点更复杂。)

流程拥有真实 UID 和有效 UID(以及更多)。

其次,执行文件永远不会改变进程的真实UID或真实GID。

第三,执行foo不会改变任何进程 ID 的值,因为它的模式中没有设置 setUID 或 setGID 位。

bar 当您不问任何问题时,为什么还要费心去规定一个在其模式中设置了 setGID 位的文件呢?

请做更多研究和编辑你的问题变得更加连贯。

相关内容