web-dev-qa-db-ja.com

Courier IMAP:読み取り専用メールボックス?

特定のメールボックス(Maildir)を読み取り専用にすることは可能ですか?したがって、ユーザーはメールの読み取り、転送、検索のみを行うことができますが、削除しないでください。

前もって感謝します

3
trnc

これは、ACLs、特にコマンド maildiracl を使用して簡単に行うことができます。

2
Mr Shunz

配置する適切なACLを把握することは簡単ではなく、ACLを変更する必要があるフォルダーを把握することも簡単ではありません。適切なACLを設定しないと、roundcubeなどの一部のメールクライアントで奇妙な動作が見られます。たとえば、メッセージを削除すると、メッセージが消えたように見えますが、別のフォルダ(たとえば、送信済み)を参照して、受信トレイに戻ると、メッセージが再表示されます。したがって、受信トレイはまだ読み取り専用ですが、この混乱が消えたり、再び現れたりすることは望ましくありません。

私は最終的に正しいことは次のとおりであると考えました:

  1. INBOXにlrasiwのACLを設定します
  2. 送信済みフォルダーにlrasiwのACLを設定します
  3. LraのACLをごみ箱フォルダに設定します

私はそれをスクリプトに入れました、あなたはそれが役に立つと思うかもしれません:

root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # cat readonly.single
if [ "$#" -ne 1 ]
then
    echo "usage : $0 [email protected]"
    exit 1
fi

email="$1"
inbox="${1%@*}"
dst="/var/vmail/domain/$inbox"

set -x
maildiracl -set "$dst" "INBOX" owner lrasiw
maildiracl -set "$dst" "INBOX.Sent" owner lrasiw
maildiracl -set "$dst" "INBOX.Trash" owner lra
root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # cat fullaccess.single
if [ "$#" -ne 1 ]
then
    echo "usage : $0 [email protected]"
    exit 1
fi

email="$1"
inbox="${1%@*}"
dst="/var/vmail/domain/$inbox"

set -x
maildiracl -set "$dst" "INBOX" owner aceilrstwx
maildiracl -set "$dst" "INBOX.Sent" owner aceilrstwx
maildiracl -set "$dst" "INBOX.Trash" owner aceilrstwx
root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # 
0
ychaouche