為什麼同一用戶透過 SSH 和 GUI 登入 (Debian) 有不同的密碼和系統屬性?

為什麼同一用戶透過 SSH 和 GUI 登入 (Debian) 有不同的密碼和系統屬性?

我正在 Google Cloud Platform 上使用虛擬機器。創建後,可以透過 GCP Web GUI 透過 SSH 進行存取。當我透過 SSH 存取時,我可以用來sudo執行特權操作。當我透過 Chrome 桌面或 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

我仍然不確定同一用戶的行為有何不同。

相關內容