Назад | Перейти на главную страницу

Dovecot: отказано в разрешении на убийство при перезагрузке

Эта проблема

Я хочу запустить сервер Dovecot в докере на моем сервере. Процесс демона запускается успешно, но всякий раз, когда я пытаюсь перезагрузить конфигурацию, перезапустить или остановить демон, я получаю следующую ошибку:

start-stop-daemon: warning: failed to kill X: Permission denied

Где X - PID процесса dovecot. Мне не удалось найти что-либо, что могло бы приблизиться к полученной мной ошибке.

Подробнее об окружающей среде

Я запускаю процесс внутри контейнера докеров на основе следующей версии Linux:

Linux 3b71bd992d42 4.10.0-21-generic #23-Ubuntu SMP Fri Apr 28 16:14:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Образ докера определяется файлом Dockerfile в https://github.com/tomav/docker-mailserver.

Моя локальная конфигурация dovecot выглядит примерно так

disable_plaintext_auth = no
mail_privileged_group = mail
log_path = /var/log/dovecot.log
mail_location = mbox:/var/mail/%u
userdb {
      driver = passwd
}
passdb {
      args = %s
        driver = pam
}
protocols = " imap"

protocol imap {
      mail_plugins = " autocreate"
}
plugin {
      autocreate = Trash
        autocreate2 = Sent
          autosubscribe = Trash
            autosubscribe2 = Sent
}

service auth {
      unix_listener /var/spool/postfix/private/auth {
      group = postfix
      mode = 0660
      user = postfix
      }
}

ssl=required
ssl_cert = < my pem certificate
ssl_key = < my private key

Запуск голубятни с /usr/sbin/dovecot -c myconfig или service dovecot start дает ту же ошибку, когда я запускаю /usr/sbin/dovecot reload или service dovecot stop/restart

Подробнее о том, что я пробовал

Как я это вижу, при перезагрузке / перезапуске / остановке dovecot пытается убить запущенный процесс, и в этом случае не может этого сделать. Первым делом я попытался убить этот процесс вручную, как root. Что дает мне ту же ошибку ... Итак, я проверил состояние процесса. Простой ps aux сообщает мне, что процесс dovecot находится в состоянии Ss.

root         1  0.0  0.0  18244  3380 ?        Ss   08:47   0:00 /bin/bash
root        32  0.0  0.0  18036  2656 ?        Ss   08:47   0:00 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf
dovecot     34  0.0  0.0   9520  1012 ?        S    08:47   0:00 dovecot/anvil
root        35  0.0  0.0   9652  1056 ?        S    08:47   0:00 dovecot/log
root        37  0.0  0.0  25300  4036 ?        S    08:47   0:00 dovecot/config
root        64  0.0  0.0  34424  2884 ?        R+   08:57   0:00 ps aux

Я попытался посмотреть с помощью strace, что это за вызов блокировки, но, к сожалению, получил

root@3b71bd992d42:/# strace -d -p 32
strace: new tcb for pid 32, active tcbs:1
strace: ptrace_setoptions = 0x11
strace: PTRACE_SEIZE doesn't work

Еще одна ошибка, о которой я больше не знаю.

pstree дает мне

bash-+-dovecot-+-anvil
     |         |-config
     |         `-log
     `-pstree

Я немного озадачен всем этим, я действительно не знаю, что делать дальше, кроме того, чтобы попробовать совершенно другой образ, чем docker-mailserver, с новой установкой dovecot и посмотреть, исправит ли это ошибку. Но этого я бы хотел избежать. Я не первый раз запускаю сервер голубятни, но у меня никогда не было ничего подобного.