[Security-team] Dovecot deliver SGID
Grigory Batalov
=?iso-8859-1?q?bga_=CE=C1_altlinux=2Eorg?=
Пт Дек 21 18:28:54 MSK 2007
Здравствуйте!
Мне понадобилось ограничить размеры почтовых ящиков пользователей
(у всех по-разному), а поскольку на предполагаемом сервере будет
стоять Dovecot, я решил это сделать его квотами.
Квоты задаются в passwd-файле /etc/dovecot/passwd:
$ cat /etc/dovecot/passwd
bga::503:12::/home/bga::userdb_quota=dirsize:storage=10240
bga1::509:12::/home/bga1::userdb_quota=dirsize:storage=1024
Как видно, я указал пользователям группу mail(12), чтобы
а) доставка от их имени успешно осуществлялась в /var/mail/<user>,
куда имеет право на запись группа mail
б) deliver не пытался сделать безуспешный setgid на их настоящую
группу, например, bga(503), как он это обычно делает, потому что
в) я сделал sgid mail на deliver, чтобы тот мог читать/писать в сокет
auth-master и получать информацию из passwd-файла:
$ ls -la /usr/lib64/dovecot/deliver /var/run/dovecot/auth-master
-rwxr-sr-x 1 root mail 538592 Aug 1 21:36 /usr/lib64/dovecot/deliver
srw-rw---- 1 root mail 0 Dec 21 16:58 /var/run/dovecot/auth-master
Не слишком ли это опрометчиво, разрешать локальным пользователям
запускать SGID deliver?
Конфиги:
---
/etc/postfix/main.cf:
mailbox_command = /usr/lib64/dovecot/deliver -d $LOGNAME
---
$ sudo egrep -v "^[[:space:]]*(#|$)" /etc/dovecot/dovecot.conf
protocols = imap imaps
ssl_cert_file = /var/lib/ssl/certs/dovecot.pem
ssl_key_file = /var/lib/ssl/private/dovecot.pem
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_extra_groups = mail
mail_debug = yes
lock_method = fcntl
mbox_read_locks = fcntl
mbox_write_locks = fcntl
protocol imap {
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
postmaster_address = postmaster на vbga64.spb.altlinux.org
mail_plugins = quota
auth_socket_path = /var/run/dovecot/auth-master
}
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd-file {
args = /etc/dovecot/passwd
}
user = root
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
group = mail
}
client {#postfix
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}#postfix
}
}
dict {
}
plugin {
}
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/security-team/attachments/20071221/79a1e19c/attachment-0002.bin>
Подробная информация о списке рассылки Security-team