Не работают предупреждения quota-warning [РЕШЕНО]

Операционки на базе Unix
Аватара пользователя
lomos
Юзер
Юзер
Сообщения: 14
Зарегистрирован: 06 ноя 2012, 14:32
ОС: openSUSE

Не работают предупреждения quota-warning [РЕШЕНО]

Сообщение lomos » 06 ноя 2012, 14:35

red hat6 + postfix + dovecot2
Возник вопрос по quota-warning, квоты работают, но не приходят письма с предупреждениями, вот скрипт:

Код: Выделить всё

#!/bin/sh
PERCENT=$1
USER=$2
cat << EOF | /usr/libexec/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing"
From: bla bla bla
Subject: quota warning

Your mailbox is now $PERCENT% full.
EOF
В логах нашел ошибку:

Код: Выделить всё

execvp(/usr/local/bin/quota-warning.sh) failed: Permission denied
Начал проверять скрипт, вот результат:

Код: Выделить всё

Usage: dovecot-lda [-c <config file>] [-a <address>] [-d <username>] [-p <path>]
                   [-f <envelope sender>] [-m <mailbox>] [-e] [-k]
lda(): Fatal: Unknown argument: plugin/quota=maildir:User quota:noenforcing
Не могу устранить проблему, в чем может быть причина?
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Не работают предупреждения quota-warning

Сообщение Raven » 06 ноя 2012, 16:17

Сюда загляните - тут есть аналогичный скрипт (рабочий)+конфиг довекота для него .
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
lomos
Юзер
Юзер
Сообщения: 14
Зарегистрирован: 06 ноя 2012, 14:32
ОС: openSUSE

Re: Не работают предупреждения quota-warning

Сообщение lomos » 06 ноя 2012, 16:28

я этот конфиг и брал за основу :) может копать в сторону того что система x64 ? или это никак не влияет
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Не работают предупреждения quota-warning

Сообщение Infernal Flame » 06 ноя 2012, 16:42

lomos
права на скрипт какие? а то мож от рута канает, а вот от мэйл-пользователя не хотит...
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Не работают предупреждения quota-warning

Сообщение Raven » 06 ноя 2012, 17:06

Конфиг, логи а также вывод ls -la в папке со скриптом можно обозреть?
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
lomos
Юзер
Юзер
Сообщения: 14
Зарегистрирован: 06 ноя 2012, 14:32
ОС: openSUSE

Re: Не работают предупреждения quota-warning

Сообщение lomos » 06 ноя 2012, 17:09

ls -la:
drwxr-xr-x. 2 root root 4096 Ноя 6 11:36 .
drwxr-xr-x. 12 root root 4096 Авг 3 14:13 ..
-rwxrwxrwx. 1 root root 241 Ноя 6 11:36 quota-warning.sh
Аватара пользователя
lomos
Юзер
Юзер
Сообщения: 14
Зарегистрирован: 06 ноя 2012, 14:32
ОС: openSUSE

Re: Не работают предупреждения quota-warning

Сообщение lomos » 06 ноя 2012, 17:12

dovecot.conf:

Код: Выделить всё

auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = PLAIN LOGIN
auth_verbose = yes
base_dir = /var/run/dovecot/
first_valid_uid = 1000
last_valid_uid = 1000
log_timestamp = %Y-%m-%d %H:%M:%
mail_location = maildir:/home/vmail/%d/%u
mbox_write_locks = fcntl
mail_plugin = quota
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
passdb {
  driver = pam
}
protocols = imap pop3
protocol imap {
  mail_plugins = $mail_plugins quota imap_quota autocreate
  imap_client_workarounds = tb-extra-mailbox-sep
}
protocol pop3 {
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = mail
    mode = 0660
    user = vmail
  }
  unix_listener auth-userdb {
  group = mail
  mode = 0660
  user = vmail
  }
  #user = nobody
}
service imap-login {
  inet_listener imap {
    port = 143
  }
}
service imap {
  executable = /usr/libexec/dovecot/imap
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
}
service pop3 {
  executable = /usr/libexec/dovecot/pop3
}
disable_plaintext_auth = no
ssl = no
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
  args = uid=1000 gid=12 home=/home/vmail/%d/%u
  driver = static
}
userdb {
  driver = passwd
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = blab la bla
  sendmail_path = /usr/lib/sendmail
  mail_plugins = quota
}
plugin {
  autocreate = INBOX
  autosubscribe = INBOX
  quota = maildir:User quota
  quota_rule = *:storage=500M
  quota_rule2 = Trash:storage=+20%%
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning = storage=80%% quota-warning 80 %u
  quota_warning3 = -storage=100%% quota-warning below %u # user is no longer over quota
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
  user = vmail
    }
  user = vmail
}
Аватара пользователя
lomos
Юзер
Юзер
Сообщения: 14
Зарегистрирован: 06 ноя 2012, 14:32
ОС: openSUSE

Re: Не работают предупреждения quota-warning

Сообщение lomos » 06 ноя 2012, 17:16

в логах это пишет:

Код: Выделить всё

localhost dovecot: script: Fatal: execvp(/usr/local/bin/quota-warning.sh) failed: Permission denied
localhost dovecot: master: Error: service(quota-warning): child 16548 returned error 84 (exec() failed)
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Не работают предупреждения quota-warning

Сообщение Infernal Flame » 06 ноя 2012, 17:18

lomos
может стоит попробовать сменить владельца на скрипт? всякое бывает все таки :)
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Не работают предупреждения quota-warning

Сообщение Raven » 06 ноя 2012, 17:22

1:
lomos писал(а):mail_plugin = quota
Приведите к такому виду:

Код: Выделить всё

mail_plugins = $mail_plugins autocreate quota imap_quota
quota_full_tempfail = yes

2:
lomos писал(а):  quota_warning = storage=95%% quota-warning 95 %u 
quota_warning = storage=80%% quota-warning 80 %u 
quota_warning3 = -storage=100%% quota-warning below %u
цифирьку пропустили (кот этого не любит)

3:

Код: Выделить всё

unix_listener quota-warning {
  user = vmail
    }
права задайте:

Код: Выделить всё

...
user = vmail
mode = 0777
...
И попробуйте запустить ваш скрипт с параметрами:

Код: Выделить всё

/usr/local/bin/quota-warning.sh 85% email@пользователя
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Unix»