Linux:ps -o fuid、fuser、fgid、fgroup#これらのプロセスファイルシステムアクセスIDの目的は何ですか?

Linux:ps -o fuid、fuser、fgid、fgroup#これらのプロセスファイルシステムアクセスIDの目的は何ですか?

コマンドのマニュアルページで、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マンページ

関連情報