Bug 11624

Summary: нерабочий authpam "из коробки"
Product: Sisyphus Reporter: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Component: courier-imapAssignee: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: alex_sinister, lakostis, ldv, mike
Version: unstableKeywords: relnote
Hardware: all   
OS: Linux   

Description Konstantin A Lepikhov (L.A. Kostis) 2007-04-26 00:51:59 MSD
1. Из-за неправильно выставленных прав на файлы в /etc/pam.d (по-умолчанию там
root:600), работа authpam становится невозможной, т.к. в момент проверки
authdaemon работает с правами непривилегированного пользователя.

2. Пользователь courier не имеет execute прав на /etc/tcb -> дальнейшая проверка
пароля также невозможна (было бы неплохо упомянуть об этом в документации). Т.е.
для полной работоспособности authpam необходимо выполнить потенциально unsecure
действия - внести пользователя courier в группу shadow и стартовать authdaemon с
GID=auth. 

Steps to Reproduce:
1. authtest -s imap user xxxxxx
2. strace -Ffp<pid> (к authdaemon)
Actual Results:  
1. authtest -s imap user xxxxxx
Authentication FAILED: Operation not permitted
2. strace -Ffp5126 (к authdaemon)
...
[pid  5126] close(7)                    = 0
[pid  5126] wait4(-1, Process 5126 suspended
 <unfinished ...>
[pid  7461] close(6)                    = 0
[pid  7461] stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid  7461] open("/etc/pam.d/imap", O_RDONLY|O_LARGEFILE) = -1 EACCES
(Permission denied)
[pid  7461] open("/etc/pam.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such
file or directory)
[pid  7461] open("/etc/pam.d/other", O_RDONLY|O_LARGEFILE) = 6
[pid  7461] fstat64(6, {st_mode=S_IFREG|0644, st_size=154, ...}) = 0
[pid  7461] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xb7fe5000
[pid  7461] read(6, "#%PAM-1.0\nauth     required     "..., 4096) = 154
[pid  7461] open("/lib/security/pam_deny.so", O_RDONLY) = 8
[pid  7461] read(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0
\3\0\000"..., 512) = 512
[pid  7461] fstat64(8, {st_mode=S_IFREG|0644, st_size=2548, ...}) = 0
[pid  7461] mmap2(NULL, 5548, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8,
0) = 0x971000
[pid  7461] mmap2(0x972000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0) = 0x972000
[pid  7461] close(8)                    = 0
[pid  7461] read(6, "", 4096)           = 0
[pid  7461] close(6)                    = 0
[pid  7461] munmap(0xb7fe5000, 4096)    = 0
[pid  7461] time(NULL)                  = 1177533210
[pid  7461] close(7)                    = 0
[pid  7461] exit_group(0)               = ?
Process 5126 resumed
Process 7461 detached
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 7461
--- SIGCHLD (Child exited) @ 0 (0) ---

Expected Results:  
Чтобы пол-дня не тратить время на запуск такой в простой конфигурации.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2007-04-26 00:53:44 MSD
BTW эта инфа очень кстати для создания VPS'а - потому как по-умолчанию там как
раз настаивался бы authpam
Comment 2 Konstantin A Lepikhov (L.A. Kostis) 2007-05-20 01:35:56 MSD
ping
Comment 3 Dmitry Lebkov 2007-05-21 02:18:26 MSD
См. https://bugzilla.altlinux.org/show_bug.cgi?id=9371
Comment 4 Michael Shigorin 2007-05-22 14:50:23 MSD
Как раз собирались именно это и повесить.

Димы, возможно ли всё-таки добиться рабочей из коробки конфигурации пакета в
сизифе?  Рассчитывать по умолчанию на LDAP не приходится.
Comment 5 Dmitry Lebkov 2007-05-23 05:32:49 MSD
(In reply to comment #4)
> Димы, возможно ли всё-таки добиться рабочей из коробки конфигурации пакета в
> сизифе?  Рассчитывать по умолчанию на LDAP не приходится.

В принципе, возможно всё ;)

Как появится время, я постараюсь сделать еще один подход на предмет
работоспособности courier-* "из коробки" во всех вариантах. Я пока не имею
ответов на свои вопросы из #9371 и обсуждения в Сизифе, упомянутого там.

В ближайшие выходные подниму тему в sisyphus@, ну и по результатам обсуждения
"заточу" пакеты courier-* ;)