Sudo 用户名与 root 用户不同

Sudo 用户名与 root 用户不同

我试图在我的 Ubuntu 服务器上执行一些 root 级别的操作。当我切换到 root 用户时,我发现用户名不同。我通常使用以下命令切换到 root 用户:

sudo su - 

但提示显示为不同的用户:webadm-dev。我检查了/etc/shadow是否有人试图添加某个用户,但什么也没发现。我尝试切换到 root 用户(切换回登录用户后),如下所示:

sudo su - root

它变了。我退出并尝试再次运行我常用的命令:

sudo su -

用户名又改回了 root 用户。我无法理解这个命令的行为和这种奇怪的变化。请帮忙!

编辑1:根提示中的用户更改行为仅发生过一次,并且从未再出现过。

答案1

的行为sudo su -如下:

  • 这将打开一个登录 shell,因此/etc/profile.profile.bashrc将被加载,这将把用户带到 root 的主目录并使用 root 的环境。

正如问题评论中所讨论的,使用 root shell 的另一种方法是运行sudo -i。 的行为sudo -i如下:

  • sudo su -它与 (模拟初始登录)选项几乎相同,它将-i目标用户的密码数据库条目指定的 shell 作为登录 shell 运行。这意味着登录特定的资源文件(例如.profile.bashrc.login将被 shell 读取和执行。

sudo -i优先使用的原因sudo su -是该命令将以使用的用户身份而不是 root 身份进行记录,从而能够在多用户环境中轻松审核命令(谁运行了什么)。

关于问题的另一部分(为什么提示显示为不同的用户),目前尚不清楚为什么首先会显示这种行为。由于环境中安装了一些其他审计软件(网络ADM再具体一点)某物是该用户所为。该行为不可重现,并且更像是一种边缘情况。

相关内容