sendmail プログラムは、/var/mail MLD 内にメールボックスファイルを作成し、このファイルに受信したメールを格納します。
各アカウントに対し、受信したメールのそれぞれの機密ラベルに別々のメールボックスが作成されます。この結果、各アカウントは複数のメールボックスを持つことになります。
たとえば、ユーザー roseanne が PUBLIC、NEED TO KNOW ENGINEERING、NEED TO KNOW MARKETING という 3 種類の機密ラベル付きのメールを受信した場合、roseanne はこれらの各ラベルに対応する 3 つの独立したメールボックスを、それぞれ独立した SLD 内に 1 つずつ持つことになります。メールボックスにはアカウントと同じ名前が付けられるため、roseanne の持つメールボックスの名前はすべて「roseanne」になります。
役割アカウントもユーザーアカウントと同様に、自分自身のメールボックスを持ちますが、この場合も、メールボックスには役割と同じ名前が付けられます。たとえば、secadmin という役割アカウントの作成したメールボックスの名前はすべて「secadmin」になります。
ホスト上のユーザーまたは役割に対して特定の機密ラベルを持つメールが初めて送られた場合、sendmail プログラムは、そのメールの持つ機密ラベルで /var/mail 内に新しいSLD を 1 つ作成し、この SLD 内のメールボックスにそのメールを格納します。
同じ機密ラベルを持つメールがこのユーザーまたはそれ以外のユーザーに対して送付された場合、それらのメールはこの同じ SLD に格納されます。
ユーザーが特定の機密ラベルでメールボックスからすべてのメールを削除すると、対応するメールボックス (/var/.MLD.mail/.SLD.?/username) が削除されます。
以下の例を参照して、たとえば、NEED TO KNOW ENGINEERING という機密ラベルを持つユーザー roseanne 宛てのメールをシステムが初めて受信した場合、NEED TO KNOW ENGINEERING という機密ラベルで /var/.MLD.mail/.SLD.0 が作成され、そのメールは .SLD.0 内の roseanne という名前のメールボックスに格納されます。この後、NEED TO KNOW ENGINEERING という機密ラベルを持つ別のユーザー jhoman 宛てのメールをシステムが受信した場合、そのメールは .SLD.0 内 の新規に作成された jhoman という名前のメールボックスに格納されます。続いて、PUBLIC ラベルを持つ roseanne 宛てのメールをシステムが受信した場合、今度は .SLD.1 が作成され、そのメールは .SLD.1 内の roseanne という名前のメールボックスに格納されます。NEED TO KNOW ENGINEERING ラベルを持つユーザー roseanne および jhoman 宛てのメールがそれぞれ .SLD.0 内のメールボックス roseanne および jhoman に格納され、PUBLIC ラベルを持つ roseanne 宛てのメールが .SLD.1 内の別の roseanne メールボックスに格納されている様子を次の図に示します。
$ cd /var/.MLD.mail/ $ ls -R .SLD.* .SLD.0 roseanne jhoman .SLD.1 roseanne |