コマンドのマニュアルページで、ps
この4つの「ファイルシステムアクセス」出力フィールド(オプションを使用して指定)の目的は何ですか-o
?つまり、プロセスはこれをどのように使用しますか?
fuid / fuser
fgid / fgroup
使用例: $ ps -o fuid,fuser,fgid,fgroup
。
fuid / fgidはID番号を返し、Fuser / fgroupは名前またはID番号を返し、fuid / fuserはユーザー値に関連し、fgid / fgroupはグループ値に関連していることを知っています。
しかし、これらのプロセス値は「ファイルシステム」とどのように関連していますか?それともそれはどういう意味ですか?
私はDebianを使っています、バスター。ありがとうございます。
明確さ:このフィールドセレクタをファイルを使用しているプロセスを示すfuser
コマンドと混同しないでください。fuser
答え1
これは歴史的な遺物なので、今は使用しないでください。あるいは、有効なuidとgidとは異なる値に設定しないでください。後者が変更されるたびに、ファイルシステムIDは一致するように変更されますが、ファイルシステムIDは次のように異なる値に設定できます。setfsuid
そしてsetfsgid
。
有効な uid および gid と同じ目的で使用されますが、ファイルシステムのアクセス権の確認にのみ使用されます。カーネルは、ファイルシステムへのアクセスを確認するたびに有効な uid または gid を使用せず、代わりにファイルシステム uid と gid を使用します。 NFSサーバーにはこれらの問題があります。後者の場合、ファイルシステムへのアクセスに使用されるuidとgidを変更する必要がありますが、これによりシグナル処理によってセキュリティの脆弱性が発生し、ファイルシステムuidとgidが回避策として導入されました。
上記のリンクされた文書でも詳細を確認できます。credentials
マンページ。