Whoamiはなぜ常に「ルート」を返すのですか?

Whoamiはなぜ常に「ルート」を返すのですか?

ハッキング後、専用サーバーはwhoamiコマンドを実行した後、常に「root」を返しました。sudo su myUser>その後もwhoami「root」を返します。

myUserサーバーに存在する理由は次のとおりです。この問題 passwd myUser返品Changing password for myUser.

また、サーバーにパッケージをインストールするときは、権限は常にに設定されますroot:myUser

whoami常に「ルート」に戻ることができるパスは何ですか?

答え1

whoamiその理由は、バイナリがsetuidであるためですroot。で確認できますstat $(which whoami)。私のシステムでは、次のようになります。

  File: /usr/bin/whoami
  Size: 30904           Blocks: 64         IO Block: 4096   regular file
Device: 1bh/27d Inode: 13918180    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

setuidが有効になっている場合は、次のようになります。

  File: /usr/bin/whoami
  Size: 30904           Blocks: 64         IO Block: 4096   regular file
Device: 1bh/27d Inode: 13918180    Links: 1
Access: (6755/-rwsr-sr-x)  Uid: (    0/    root)   Gid: (    0/    root)

このビットの効果は、バイナリがそれを実行したユーザーではなく所有者として実行されることです。

を実行してこの設定を無効にできますsudo chmod -s $(which whoami)

(はい。すでに多くの人がコメントに書いているので、マシンを完全に再インストールする必要があるかもしれません。)

関連情報