私は Google Cloud Platform で VM を使用しています。VM を作成すると、GCP Web GUI から SSH でアクセスできます。SSH でアクセスすると、sudo
特権アクションを実行できます。Chrome デスクトップや VNC などの GUI 方式でアクセスする場合、sudo 権限はありません。ただし、whoami
どちらの場合も同じユーザー名が取得されます。
私はいくつかの仮定を持っているので混乱しています:
whoami
現在のユーザーを名前で示します。- システム全体では、特定の名前に対して 1 人のユーザーしか存在せず、その逆も同様です。
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.d
いるgoogle_sudoers
%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL
OSバージョン: Debian 10 (バスター) 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
同じユーザーに対して動作がどのように異なるのかはまだわかりません。