Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Dovecot PostLoginScript  (Прочитано 748 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Neft

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Dovecot PostLoginScript
« : 29 Июня 2013, 10:26:13 »
Всем привет!

Столкнулся вот с такой проблемой:
Решил к довекоту прицепить скрипт, который бы обновлял в бд пользователей дату последнего входа и ip адрес.

Полистал документацию к довекоту (версия 1.2.5) и нашел, что нужно http://wiki1.dovecot.org/PostLoginScripting

dovecot.conf
protocol imap {
.....
mail_drop_priv_before_exec=yes
mail_executable = /etc/dovecot/postlogin.sh /usr/lib/dovecot/imap
.....

postlogin.sh
#!/bin/bash
echo "UPDATE email_mailbox SET lastactive = now(), lastip='$IP' WHERE username = '$USER'" | /usr/bin/psql -U postgres -h 192.168.xxx.x -d mail
exec "$@"

При такой настройке, авторизация через roundcube проходит на ура, плюс обновляются поля в базе, но если попробывать подключиться через почтовый клиент, например Thunderbird, то авторизация не проходит, предлагает попробывать еще раз, либо ввести другой пароль, при этом поля в бд обновляются, хоть вход так и не состоялся.

При смене интерпритатора на /bin/sh, удачно входит и через roundcube и через thunderbird, но поля в бд не апдейтятся.

Error: Insecure dependency in exec while running setgid at /usr/bin/psql line 100
Как быть?
В чем подвох?)
« Последнее редактирование: 29 Июня 2013, 11:19:11 от Neft »

Оффлайн Neft

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Dovecot PostLoginScript
« Ответ #1 : 02 Июля 2013, 20:45:38 »
Если использовать интерпритатор /bin/sh, то скрипт должен выглядить немного иначе:
#!/bin/sh
/usr/bin/psql -U postgres -h 192.168.xxx.xx -d mail << EOF
UPDATE email_mailbox SET lastactive = now(), lastip='$IP' WHERE username = '$USER';
EOF
exec "$@"
и необходимо изменить параметр mail_drop_priv_before_exec=no

Но опять же, основная проблема так и не решена, вход в почту через Thunderbird не выполняется.

 

Страница сгенерирована за 0.015 секунд. Запросов: 21.