実際の有効なユーザーIDはどのように機能しますか?

実際の有効なユーザーIDはどのように機能しますか?

一般ユーザーがpasswdファイルを変更しようとすると、ユーザーはsetuidを介して効果的なユーザーアクセス権を取得します。ユーザーは一時的にルートになり、パスワードを編集できます。

しかし、パスワードは自分だけで変更でき、他人のパスワードは変更できませんか?ただし、有効なユーザーアクセスはルートです。それでは、なぜ自分のパスワード以外のパスワードを変更することは許可されませんか?

setuid でプログラムを実行すると、実効ユーザーは root ですが、実際のユーザー ID はまだあなたの名前です。これが実際に意味するものは何ですか?

ベストアンサー1

他のパスワードは変更できません。プログラムで許可しないからです。このプログラムはで実行されるため、必要なパスワードを変更するシステム権限を持っていますがroot、プログラムはユーザーにこれらの権限を使用する方法を提供しないように特別に設計されています。

一時的にrootになるのは、ユーザーではなくroot権限で実行される信頼できるプログラムです。明らかに、ユーザーが許可する必要があるタスクのみを実行するように制限するように特別に設計されたプログラムのみが、setuidを安全に使用できます。

おすすめ記事