Linux-実際のルートと通常のルート


0

Unix / Linuxに通常のルートと実際のルートのようなものはありますか?

バッファーオーバーフロープロジェクト(Ubuntu 11.04)を実行しており、/ bin / zshと/ bin / bashを別々に呼び出しています。両方の場合において

$whoami ルートを返します

$id uid = 1000、eud = 0、gid = 1000を返します。

しかし、実行しようとすると

$passwd username

ユーザーのパスワードを変更するために、シェルは以下を返します。

passwd: You may not view or modify password information for username

これはルートには低レベルの特権がないと信じているので、ここに欠けているものがありますか?私はネット上で検索しましたが、包括的な答えを見つけられないようです。


また、$ useradd、$ userdel、$ chownなどのコマンドは、昇格なしで機能することを忘れました
-Suchit

回答:


3

「実際のUID / GID」と「有効なUID / GID」とはどういう意味ですか?

実際のUID:これは、このプロセスを作成したプロセスのUIDです(たとえば、ログインしたユーザーとして)。

有効なUID:このUIDは、アクションを実行するプロセスの特権を評価するために使用されます。

ここ確認する必要があります

http://www.lst.de/~okir/blackhats/node23.html

http://mahmudonline.com/?p=278

http://en.wikipedia.org/wiki/Setuid

http://en.allexperts.com/q/Unix-Linux-OS-1064/real-effective-user-id.htm


編集:

素敵な説明があるこのページを見つけました:

http://bashscript.blogspot.com/2010/03/unixlinux-advanced-file-permissions.html


回答ありがとうございます。実際のUID / GIDの意味を理解していますが、バッファオーバーフローの脆弱なプログラムから/ bin / bashまたは/ bin / zshを呼び出すと、実際のUIDがゼロにならないのはなぜですか。むしろ有効なUIDはゼロになります。私の動機は、本当のuid = 0を設定する(setuid(0)で)別のシェルコードを実行せずに、本当のUIDを0に取得することだということを忘れていました。
Suchit

@Suchit:それがあなたの質問である場合、質問を更新するか、新しい質問をすることができます。
RedGrittyBrick
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.