ssh-agentにsgidビットがある理由を理解しようとし、この記事を見つけました。ssh-agentにsgidがあります
別の質問があります。なぜssh-agentのグループ所有権がroot以外の人ですか?その理由は何ですか?グループの所有権がルートであっても引き続き機能しますか?
ベストアンサー1
setgid rootの場合、エージェントはroot
起動されたユーザーよりも広い権限を持つグループとして実行されます。これは、少なくともセキュリティリスクになる可能性があります。不必要に root で何かを実行するのは危険の兆候です。(グループでも)特別な注意が必要です。
グループ所有権をに設定しますnobody
。グループには意味のある権限や添付ファイルを含めないでください。ssh-agent
ユーザーが開始したよりも多くの権限を取得できない。リンクされた質問が示すように、実際には他の権限が必要なためではなく、最初からトラッカーを防ぐように設定されています。内部に別の質問でリンクされたディスカッションスレッド、ある開発者は次のように言及しました。
このグループは影響力がほとんどないようです。バイナリがanygroupに設定されていることが重要です。
nobody
この便利なグループは、アクション自体ではなくsetgidの副作用だけが必要な場合に使用できます。
私はそれがsetgidルートで動作し続けると思います。ここで試してみましたが、まったく文句を言わず、おおよそのテストではうまくいったようです。つまり、そのような形に変える実用的な理由は思い出されません。誰もがnobody
グループよりもグループの形でうまくいくようですroot
。
いずれにせよ、パッケージマネージャがインストールしたファイルの権限を変更しないことをお勧めします。なぜなら、パッケージマネージャは自分が制御するファイルを変更するのが不便になる傾向があるからです。