Courier imap 文件夹的默认权限

Courier imap 文件夹的默认权限

我正在使用 courier imap。当邮件客户端创建新文件夹时,它会在文件系统上以 640 权限创建。我需要它可由组写入,或者 660。我目前有 /etc/courier/imapd IMAP_UMASK=007,但这还不够。

我不确定还能尝试什么。有什么想法吗?我正在使用 ubuntu server 12.04。


编辑:我为此添加了 50pt 赏金。为了得到可接受的答案,我需要一种方法使其从标准存储库中的包中运行。如果我下载源代码并自行编译,它将不会自动更新安全修复程序。

如果我找不到更好的答案,我会在管理脚本中添加代码,以调用另一个 sudo 批准的脚本,在每次更改之前 chmod -R 整个目录。但这有点黑客风格。

答案1

下面的内容不适用于邮件服务器,但如果在任何情况下您都可以通过下面显示的 setfacl 方法传播默认文件夹权限。

无论如何,如果您想改变 fopen 的工作方式,我会在其上使用 ld-preload,并使用 660 而不是 600 来设置 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 -md:g::rw aaa 设置文件夹的默认权限(因此就像继承一样),即组(默认组,这里未指定两者之间:)将同时具有读取和写入权限。

[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 ~]$

相关内容