是否可以将特定邮箱(Maildir)设为只读?这样用户只能阅读、转发和搜索邮件,而不能删除它们?
提前致谢
答案1
您可以轻松地做到这一点ACLs
,特别是使用命令邮件目录。
答案2
确定要放置的正确 ACL 并非易事,确定需要在哪些文件夹中更改 ACL 也并非易事。不放置正确的 ACL 会导致某些邮件客户端(如 roundcube)出现奇怪的行为,例如,您可能会删除一条消息,该消息似乎消失了,但如果您浏览到另一个文件夹(例如,已发送)并返回收件箱,该消息会重新出现。因此,收件箱仍处于只读状态,但我们不希望出现这种消失/重新出现的混乱。
我最终认为正确的做法是:
lrasiw
在 INBOX 上设置 ACLlrasiw
在“已发送”文件夹上设置 ACL- 将 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 #