Я установил Mailman 2.1.16 на Ubuntu 14.04 LTS, Postfix и Apache.
Отправка писем через ретранслятор работает нормально, и я могу использовать веб-интерфейс Mailman. Но веб-интерфейс ничего не делает в отношении запросов администратора (запросы подписки и задержанные сообщения). Эти запросы должны быть приняты администратором, но когда я нажимаю «Отправить все данные», ничего не происходит.
/ 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 не может решить эту проблему. Любые из этих папок являются символическими ссылками, и я установил разрешения вручную, но ничего не происходит.
Любые идеи? Есть ли способ отладить веб-интерфейс?
Проблема в том, что "неправильные" права доступа к символьным ссылкам, а не к реальным каталогам или файлам:
% 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 ничего не делает)
Решение - использовать флаг -h для chown:
chown (1) - справочная страница Linux
-h, --no-dereference
влияет на каждую символическую ссылку вместо любого файла, на который есть ссылка (полезно только в системах, которые могут изменять право собственности на символическую ссылку)
Используя команду 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
Для документации по этой команде, пожалуйста, обратитесь к эта страница.