/var/mailがgidに設定されているのはなぜですか?

/var/mailがgidに設定されているのはなぜですか?

私はUNIXファイルの権限について学んでいますが、Ubuntuシステムで/ var / mailにsetgidビットが設定されていることを発見しました。なぜこれですか?

$ ls /var/mail/ -dl
drwxrwsr-x 2 root mail 4096 Feb  23 05:57 /var/mail/

私が読んでいる本にはこう書かれています。

Setgidは、多数のファイルを共有する必要があるユーザーグループがある場合に便利です。 setgid属性を使用してパブリックディレクトリで作業することで、グループ内の人々が同じデフォルトグループを共有しなくても、新しいファイルの正しいグループ所有権が自動的に設定されます。

この説明は、ユーザーがそのディレクトリを直接操作しないため、/ var / mailの目的がないように聞こえます。

/var/mailに生成されたファイルはグループ所有者「mail」で終わりますが、すでにそのようなことはありませんか? 「mail」のみがディレクトリ(およびルートディレクトリ)に新しいファイルを作成できます。

これが役に立つと思われる唯一の状況は、システム管理者が新しいメールアカウントを追加したときですsudo touch /var/mail/<user>。ファイルにはまだ「メール」グループの所有者があります。

答え1

1 つのサービスではなく、ローカルの電子メールは複数のサービスで処理されます。実際のメール転送エージェント(単にMTA:一般的または類似)に加えて、postfixメールeximフィルタリングsendmail/後処理ユーティリティ(以前のユーティリティなどprocmail)、ユーザーメールボックスへのリモートアクセスを可能にするサービス(さまざまなPOPおよびIMAPサービス)、メーリングリストの管理ユーティリティなどがあります。

歴史的に、これらのサービスは通常、各ユーザーのメールボックスにアクセスできる必要があり、所有者だけがメールボックスにアクセスできる必要があるため、ルートとして実行されていました。しかし、電子メールシステムをrootとして実行することは簡単に悪用できるコードの集まりであることがすぐに明らかになりました。非常に多くの脆弱性が発見され修正されましたが、結局のところ、人々はメールシステムをrootとして実行するのが悪い考えであることに気づきました。回避策は、グループを作成し、mailユーザーのメールボックスにメールを配信するために必要な電子メールサービスのすべてのコンポーネントをそのグループに設定することです。

しかし、当時はすでに電子メール関連ツールの数が多すぎて、完全な変換を保証することはできませんでした。したがって、保険でユーザーの受信トレイの親ディレクトリもメール/var/mail/に設定され、ユーザーの受信トレイにメールを送信するソフトウェアが自動的に正しいグループの新しい受信トレイを生成するようにします。残りの作業は、ユーザーの受信トレイに正しいumaskを使用するようにすべてのメール配信プログラムをパッチまたは構成することです。メールシステムがrootとして実行されている場合はumask 077(特権用-rw-------)を使用できますが、グループのmail有効なケースではumaskには-rw-rw----007が必要です。 (許可)。しかし、これは既存の要件に対する調整ではありません正しいグループを実行するための新しい責任を追加するしたがって、これはより簡単な変更です。

(もちろん、正しいグループの実行を追加することは確かに良い考えですが、/var/mailsetgidを作成するとmailコードが変わります。任意に選択できるそしてそれほど緊急ではありません。 )

はい、ユーザーの受信トレイにメールを送信するほとんどのプログラムは、/var/mail/ユーザーのメールボックスファイルが存在しない場合に自動的に生成されます。したがって、ユーザーが最初の受信メールを受信するまで、ユーザーはメールボックスなしでそのまま残ります。文書は完全に有効です。

要約すると、/var/mail/setgidはmail誤って設定されたメール配信プログラムの保険ポリシーであり、電子メールサービスが常に完全に機能していた暗黒時代の歴史的遺物ですroot

答え2

/var/mail/ では、各ファイルは公開ユーザーの uid です。これにより、すべてのユーザーは、権限のないディレクトリから自分のuidを使用してファイルを書き込みまたは読み取ることができます。 gid が設定されていない場合、ユーザーは自分のメールを削除できません。

ユーザーは自分のメールファイルを読み取り、削除します。 muttを参照してください。

関連情報