web-dev-qa-db-ja.com

/ var / mailディレクトリに対するどのような権限がありますか?

私はPostfix/Dovecotで数日間許可の問題に苦しんでいます。セットアップでは仮想ドメインとユーザーを使用しているため、ユーザーのhomeへのパスは/var/mail/<domain>/<user>です。 MailDirへのパスは/var/mail/<domain>/<user>/MailDirです。

メールログには引き続きアクセス許可が拒否されました

Apr  3 05:44:16 debian-x2 postfix/virtual[5670]: D6DDD1780100: to=<[email protected]>,
relay=virtual, delay=0.15, delays=0.1/0.01/0/0.04, dsn=4.2.0, status=deferred
(maildir delivery failed: create maildir file
/var/mail/deltoid.com/jeff/Maildir/tmp/1396518256.P5670.debian-x2: Permission denied)

権限は次のとおりです。

# ls -l /var/mail/
total 96
drw-rws--- 4 vmail  vmail  4096 Apr  2 18:19 deltoid.com
-rw-rw---- 1 nobody mail  80586 Apr  2 07:45 nobody

# ls -l /var/mail/deltoid.com/
total 12
drw-rws--- 3 vmail vmail 4096 Apr  3 04:47 jeff
drw-rws--- 3 vmail vmail 4096 Apr  3 04:47 support
-rw-rws--- 1 vmail vmail  122 Apr  2 03:33 users

# ls -l /var/mail/deltoid.com/jeff/
total 4
drw-rws--- 2 vmail vmail 4096 Apr  3 04:47 Maildir

# ls -l /var/mail/deltoid.com/jeff/Maildir/
total 0

vmailはユーザーとグループの両方であり、id5000に設定されています。

# id -u vmail
5000

postfixdovecotはどちらもvmailグループに属しています。

# members vmail
vmail postfix dovecot

そしてPostfixのmain.conf

# Mailbox location
virtual_mailbox_base = /var/mail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

適切な許可ビットを設定しようとする小さなスクリプトがありますが、明らかに間違っています。

# Ensure permissions are set on directories
chown -R vmail:vmail /var/mail/*.com
chmod -R 0660 /var/mail/*.com
chmod -R g+rwxs /var/mail/*.com
# chown -R dovecot:dovecot /var/mail/*.com/users

ディレクトリのアクセス許可を設定し、サブディレクトリとファイルにそれらのアクセス許可を継承させることに関するSuperUserの質問からchmod -R g+rwxsを取得しました(たとえば、 新しいファイルが同じアクセス許可を継承するようにファイルのアクセス許可を設定する方法 、- Linuxのディレクトリの下に新しく作成されたファイルとサブディレクトリのデフォルトのアクセス許可を設定しますか? 、および 新しいファイルのアクセス許可を親ディレクトリから継承させる方法は? )。

2つの質問:

  1. 現在の権限の何が問題になっていますか?

  2. 想定される権限は何ですか?

4
jww

xビット(数値形式を使用する場合は= drw-rws---)がないため、ディレクトリの所有者でさえディレクトリに入ることができないため、ディレクトリの権限1は間違っています。

通常のユーザー(rootではない)としてこれを行うことにより、これを自分でテストできます。

$ mkdir -m 2670 /tmp/testdir
$ ls -ld /tmp/testdir
drw-rws--- 2 vmail vmail 4096 Apr  3 23:16 /tmp/testdir
$ cd /tmp/testdir
bash: cd: /tmp/testdir: Permission denied

現在のスクリプトの次の行は次のように思います。

chmod -R 0660 /var/mail/*.com
chmod -R g+rwxs /var/mail/*.com

代わりにすべきです:

chmod -R 2770 /var/mail/*.com
2
Daniel Vérité