vi 以哪个用户身份运行命令?

vi 以哪个用户身份运行命令?

这可能是一个奇怪的问题,但请仔细听

假设我有一个文件

-rwxr-w--- user3 user2 4095  somefile

现在我在一个user2's shell 中(?这样说是吗),如果我用 vi 编辑器执行这个'somefile',我猜这个 somefile 属于user3,所以如果我在 vim 中执行一些命令行,我我在user3的 shell 中执行命令?

答案1

不,vim不是设置用户id(即,它不会改变有效的userid)。从 vim 运行命令行将为您提供一个 shell(即这个词),如下所示user2

顺便说一下,要编辑该文件,您必须

  • 成为用户user3
  • 属于团体 user2,仅仅作为 user2 是不够的。

在运行 visudo 时,redhat 4.x 中曾经存在(或仍然存在)一个错误,该错误允许您以 root 身份运行 shell。这是一个小错误,因为您必须准备好在 sudoers 中才能运行 visudo。

答案2

通过说你在user2的 shell 中,你暗示你已经登录为user2,命令whoamiorecho $LOGNAME会让你知道同样的事情。

您在终端中触发的任何命令都被视为由登录用户触发,通过sudo.

输出中的列名称ls如下,供您参考。这第四场是表示Group.

PERMS       LINKS  OWNER     GROUP     SIZE     modMONTH  modDATE  modTIME  NAME
-rwx------  1      lg262728  lg262728  43457    Sep       20       2006     "cpufreq.c"

相关内容