私はしばらくの間、壁に頭をぶつけてきました。基本的に、ここに要約があります:
MXレコードは、実際にメールをルーティングするためのエイリアスを含むフロントエンドSMTPサーバーを指しています。エイリアスも、クライアントが接続するバックエンドストレージサーバーへのアクセスもありません。
バックエンドのメールサーバーをアップグレードしています。現在、サーバー上のすべての電子メールユーザーに対してユーザーが作成され、メールボックスが作成されます。新しいサーバーでは、すべてがPAMを介してLDAPサーバーに認証されます(すべてが正常に機能しています)。私の目標は、PostfixにユーザーのMaildirディレクトリを自動的に作成させることです。これは、777のアクセス許可を持つ/ homeディレクトリがある場合は正常に機能しますが、明らかな理由から、これは避ける必要があります。 Postfixを実行しているユーザーのグループ所有者を使用して、/ homeの775権限でこれを実行したいのですが、使用するユーザーがわからないようです。 777権限を使用すると、メッセージ配信時に/ home/$ user/Maildirディレクトリが作成されます。 777の許可なしでこれを行う方法を誰かが知っていますか?
私が取り組んでいるシステムは、64ビットのDebian Lenny5.07インストールです。
何かアドバイスをいただければ幸いです。
これに対する答えは、Postfixシステムがどのように構成されているかによって異なります。 pamとLDAPについて言及しているので、すべてのドメインが$ mydestinationにあるか、1つのドメイン(example.comなど)のみを使用していると思います。
Mysql/pgsqlマップの代わりにLDAPマップを使用してvirtual_mailbox_domainsを構成する方が簡単な場合があります(ただし、ロジックはまったく同じです)。
ログイン権限のない単一のシステムユーザーを作成します。ここでは、vmail:vmailのユーザー名とグループを想定しますが、特定の名前は重要ではありません。
LDAPで、vmailの$ HOMEを基準にしたメールボックスパスを作成します(したがって、maildirは/ home/vmail/user/Maildir /になります)。
ドメインをvirtual_mailbox_domainsに追加します。ユーザー名を入力として受け取り、ユーザー名/ Maildirを出力として返すvirtual_mailbox_mapsマップを作成します。
セットする
virtual_mailbox_domains = example.com
virtual_mailbox_base = /home/vmail/
virtual_mailbox_maps = ldap:/etc/postfix/ldap_virtual.cf
virtual_uid_maps = static:$uid_of_vmail
virtual_gid_maps = static:$gid_of_vmail
#$uid_of_vmail and $gid_of_vmail are obtained from the output of
#id vmail
詳細(および内容)については、 http://www.postfix.org/ldap_table.5.html および http://www.postfix.org/VIRTUAL_README.html を参照してください。 ldap_virtual.cfを入れる必要があります)。
FWIW、Postfixは、配信先のシステムユーザーのuid/gidとしてローカル配信プロセスを実行します。
/ homeの一般的なアクセス許可は755で、所有者とグループの両方がルートですが、ユーザーは〜user内に書き込むことができます。したがって、Postfixは〜user/Maildir /に問題なく配信されますが、〜userを作成することはできません。仮想ユーザーを使用すると、すべてのメールボックスへのアクセスを単一のuid/gidに許可することでこの問題を回避できます。このアクセスは、pop3/imapソフトウェアによってのみアクセスされます。ユーザーがメールボックスに直接アクセスすることはできません。
Postfix(mail
グループのメンバー)がディレクトリに書き込めない場合、配信を完了できません。秘訣は、mail
グループにユーザーのホームディレクトリでの読み取り/書き込みアクセス権を持たせることです。/homeに接尾辞を入れるには775で十分です。ただし、割り当てられたグループはおそらくmail
ではなく、所有者は確かにmail
ではないため、一度そこに入ると、/ home/$ userにディレクトリを作成するのに十分ではない可能性があります。 、およびワールドビットは最も確実にrwx
に設定されていません。したがって、接尾辞の場合、それは「あなたのためのスープはありません」です。
一時的な対策として、ユーザーのディレクトリのグループをいつでもmail
に設定できますが、私は本当にしないことをお勧めしますこの。
より良い解決策は、EXT3とEXT4で利用可能な 拡張属性 を使用することです。これにより、1つだけでなく複数のグループを定義できます。したがって、問題を回避してディレクトリの作成を許可することで、r-x
ではなくmail
を使用してすべてのユーザーディレクトリにrwx
グループを追加できます。
興味がありますが、/var/spool/mail/$user
を使用して、それで済ませてみませんか?その配置を使用すると、問題全体が解決されます。ディレクトリのグループは事実上mail
であり、「Ineed777」の問題全体をバイパスします。私はあなたがユーザーのホームディレクトリか何かをNFSマウントする必要があると推測することができるだけです。