我已经在Ubuntu 14.04 LTS,Postfix和Apache上设置了Mailman 2.1.16。
通过relayhost发送邮件工作正常,我可以使用Mailman的Web接口。 但Web接口对pipe理请求(订阅请求和保留消息)没有任何作用。 这些请求必须被pipe理员接受,但是当我点击“提交所有数据”时,什么都没有完成。
/ var / log / mailman / error显示错误,但时间戳与我的问题没有关系:
Sep 13 01:54:25 2014 (1161) send_digests() failed: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/hsg/attachments' Sep 13 01:54:25 2014 (1161) Traceback (most recent call last): File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 99, in process send_digests(mlist, mboxfp) File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 147, in send_digests send_i18n_digests(mlist, mboxfp) File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 329, in send_i18n_digests msg = scrubber(mlist, msg) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 253, in process url = save_attachment(mlist, part, dir, filter_html=False) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 419, in save_attachment makedirs(fsdir) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 406, in makedirs os.makedirs(dir, 02775) File "/usr/lib/python2.7/os.py", line 150, in makedirs makedirs(head, mode) File "/usr/lib/python2.7/os.py", line 150, in makedirs makedirs(head, mode) File "/usr/lib/python2.7/os.py", line 157, in makedirs mkdir(name, mode) OSError: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/hsg/attachments'
check_perms -f给我以下错误:
sudo /usr/lib/mailman/bin/check_perms -f /var/lib/mailman/icons falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/Mailman falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/mail falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/templates falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/scripts falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/locks falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/logs falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/cron falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/cgi-bin falsche GID (ist: root, soll: list) (korrigiere) /var/lib/mailman/bin falsche GID (ist: root, soll: list) (korrigiere)
似乎check_perms不能解决这个问题。 任何文件夹都是符号链接,我已经手动设置了权限,但没有任何反应。
有任何想法吗? 有什么办法可以debuggingweb界面吗?
问题是符号链接上的“错误”权限,而不是实际的目录或文件:
% ll /var/lib/mailman drwxrwsr-x 4 root list 4096 Nov 2 05:43 archives/ lrwxrwxrwx 1 root root 20 Feb 3 2014 bin -> /usr/lib/mailman/bin/ lrwxrwxrwx 1 root root 24 Feb 3 2014 cgi-bin -> /usr/lib/cgi-bin/mailman/ lrwxrwxrwx 1 root root 21 Feb 3 2014 cron -> /usr/lib/mailman/cron/ drwxrwsr-x 2 root list 4096 Nov 2 05:47 data/ lrwxrwxrwx 1 root root 25 Feb 3 2014 icons -> /usr/share/images/mailman/ drwxrwsr-x 3 root list 4096 Nov 2 05:52 lists/ . . .
在Ubuntu(所有Debian?)符号链接权限并不重要 – 只是他们的目标的实际权限。 试图更改符号链接的权限将悄然失败(这就是为什么运行check_perms什么也不做)
解决方法是在chown上使用-h标志:
chown(1) – Linux手册页
-h, – 不解除引用
影响每个符号链接而不是任何引用的文件(仅在可以更改符号链接所有权的系统上有用)
使用chown -h命令,然后现在运行check_perms应该不会产生错误:
% sudo chown -h root:list /var/lib/mailman/* % sudo /usr/lib/mailman/bin/check_perms -f No problems found
然而,我不认为这是你的实际问题 – 如果你看,错误是不是在您的check_perms通知输出的任何符号链接,而是在/ archives,根据您的check_perm输出的子目录适当的权限(没有“修复”信息抛出)。 我不知道这是一个文件或目录的读取或执行权限,但检查附件目录应该在那里。
检查你的邮递员权限。 这些错误可能是由/var/lib/mailman/的无效权限引起的。 要修复权限,请运行此命令
sudo /usr/lib/mailman/bin/check_perms -f
有关该命令的文档,请参阅此页面 。