为什么同一个用户在 SSH 和 GUI 登录(Debian)上有不同的密码和系统属性?

为什么同一个用户在 SSH 和 GUI 登录(Debian)上有不同的密码和系统属性?

我正在 Google Cloud Platform 上使用虚拟机。创建后,可以通过 GCP Web GUI 通过 SSH 访问它。当我通过 SSH 访问时,我可以用来sudo执行特权操作。当我通过 Chrome Desktop 或 VNC 等 GUI 方法访问时,我没有 sudo 权限。但是,无论whoami哪种情况,我都会获得相同的用户名。

我很困惑,因为我有一些假设:

  • whoami通过姓名表示当前用户。
  • 整个系统中,同一个名称只有一个用户,反之亦然。
  • sudo适用于当前用户(与 相同whoami
  • 用户的身份验证和 sudo 属性在整个系统中是相同的。

如果这些都是真的,我不明白sudo当我以不同的方式登录时为什么会有不同的行为。


更新 3:

我运行sudo usermod -aG sudo username后,重新启动后,用户在所有地方都拥有 sudo 权限。sudoers 文件中没有任何变化。我没有想到在进行更改之前检查组文件。

从实际角度来看,我认为现在一切都很好。我仍然不明白同一个用户在不同的地方怎么会有不同的 sudo 权限。


更新 2:

/etc/sudoers非注释行(和指令)包括:

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root    ALL=(ALL:ALL) ALL
%sudo   ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d

包含sudoers.dgoogle_sudoers

%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL

操作系统版本:Debian 10(buster)Linux 4.19.0-17-cloud-amd64


更新:

不幸的是,这可能是由 Google 添加的一些与 google-sudoers 组相关的功能引起的。

相关日志来自/var/log/auth.log

gpasswd[2309]: user user_me added by root to group google-sudoers

成功的 sudo:

sudo: user_me : TTY=pts/2 ; PWD=/home/user_me ; USER=root ; COMMAND=/usr/bin/echo test
sudo: pam_unix(sudo:session): session opened for user root by user_me(uid=0)
sudo: pam_unix(sudo:session): session closed for user root

sudo 失败:

sudo: user_me : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/user_me ; USER=root ; COMMAND=/usr/bin/echo test

我仍然不确定同一个用户的行为会有何不同。

相关内容