web-dev-qa-db-ja.com

宅配便のimapフォルダーのデフォルトのアクセス許可

宅配便のimapを使用しています。メールクライアントが新しいフォルダを作成すると、640の権限でファイルシステム上に作成されます。グループまたは660で書き込み可能にする必要があります。現在/ etc/courier/imapd IMAP_UMASK = 007を使用していますが、それだけでは不十分です。

他に何を試すべきかわかりません。何か案は?私はubuntuサーバー12.04を使用しています。


編集:私はこれに50ポイントの報奨金を追加しました。許容できる答えを得るには、標準リポジトリのパッケージからそれを機能させる方法が必要です。ソースをダウンロードして自分でコンパイルした場合、セキュリティ修正によって自動的に最新の状態に保たれません。

より良い答えが見つからない場合は、管理スクリプトにコードを追加して、変更のたびにディレクトリ全体をchmod-Rする別のSudo承認済みスクリプトを呼び出します。しかし、これは一種のハックっぽいものです。

1
EricP

以下の内容はメールサーバーでは機能しませんが、いずれにせよ、以下に示す次のsetfaclメソッドを使用してデフォルトのフォルダー権限を伝達できます。

いずれにせよ、fopenの動作方法を変更したい場合は、ld-preloadを使用し、600ではなく660でfopenを作成します。引き継がれる関数は次のようになります。 umask、chown、mkdir、open。

umask(0)                                = 077
mkdir("/home/test/Maildir/.INBOX.test", 0700) = 0
chown("/home/test/Maildir/.INBOX.test", 4294967295, 4294967295) = 0
open("/home/test/Maildir/.INBOX.test/maildirfolder", O_WRONLY|O_CREAT, 0600) = 15
mkdir("/home/test/Maildir/.INBOX.test/cur", 0700) = 0

Setfaclとgetfaclを使用することをお勧めします。 setfacl -m d:g :: rw aaaは、フォルダーのデフォルトのアクセス許可を設定し(継承されたようになります)、グループ(デフォルトのグループ。ここでは2つの間で指定されていません:)に読み取りと書き込みの両方のアクセス許可があります。

[test@test ~]$ setfacl -m d:g::rwx aaa
[test@test ~]$ getfacl aaa
# file: aaa
# owner: test
# group: test
user::rwx
group::---
other::---
default:user::rwx
default:group::rwx
default:other::---

[test@test~]$ mkdir aaa/zzz
[test@test ~]$ getfacl aaa/zzz
# file: aaa/zzz
# owner: test
# group: test
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:other::---

[test@test ~]$ ls -l aaa
total 4
drwxrwx---+ 2 test test 4096 Jun 30 12:22 zzz
[test@test ~]$ umask
0077
[test@test ~]$
1
Andrew Smith