setuidとsetgidが混同される

setuidとsetgidが混同される

setuidとsetgidの概念を完全に理解しようとしていますが、実際に権限を昇格する方法がわかりません。たとえば、見てみましょう。

ユーザー

userA (groups: userA groupA)
userB (groups: userB groupB GroupC)

実行可能ファイル

Permission owner group  filename
-rws-----x userA groupD file
-rwsrws--x userA groupD file2

fileuserBがおよびを実行している場合、実行可能ファイルにはfile2どのグループ権限がありますか?実行可能ファイルにユーザー/グループ権限があるかどうかはわかりません。両方呼び出し元とファイルの所有者または権限が「代替」されているかどうか。

setuidとsetgidは一般的に "catch-all"アプリケーションを呼び出すために使用されるので、これは愚かな例であることを知っていますが、この例ではsetuidとsetgidが実際にどのように機能するかについてより良い概念を提供したいと思います。

ベストアンサー1

setuid有効なUID設定UIDsetgid有効GID設定エジド

どちらの場合も、呼び出し元 uid と gid はそのまま残ります。したがって、おおよそ言うと、呼び出し元のuidと(アクティブ)gidに加えてuid / gidも得られます。

これをよく区別するプログラムがあります。

システムにログインした後、surootを実行してaを実行すると、who am i「古い」アカウントが表示されます。

suこれはsuidバイナリの1つであり、変更されます。UID

おすすめ記事