Linuxは、passwd、setuidなどの特定のプロセスにeuid 0(ルートのuid)のみを提供する必要があることをどのように知っていますか?
プロセスがroot権限を取得できる場合、Linuxプラットフォームに潜在的なセキュリティの脆弱性が発生しませんか?
たとえば、rootユーザー権限(passwdなど)を取得できるプログラムを作成すると、重要なシステムファイル(/ etc / passwd、/ etc / groups)が破損する可能性があります。
Linuxはどのようにセキュリティを維持しますか?
ベストアンサー1
このpasswd
プログラムは設定値ビット設定は次のコマンドで確認できますls -l
。
-rwsr-xr-x 1 root root 39104 2009-12-06 05:35 /usr/bin/passwd
これはs
(行の4番目の文字)です。
この権限ビットが設定されているすべてのプログラムは、そのプログラムの所有者として実行されます。この例では、ユーザーはroot
(行の3番目の単語)です。
これらのsetuidプログラムはシステムのすべてのユーザーが実行できるため、何も破損しないことを確認する必要があります。効果的なルート権限。そのため、パスワードは本人のみ変更できます。 Linuxや他の同様のオペレーティングシステムは、これらのsetuidプログラムの作成者が非常に注意を払っているため、依然として安全です。
例を見る訴訟実行プログラムApache Webサーバーでは、これは広く使用されているsetuidプログラムです。このソースコードには、異常に多数のコメントがあります。