Bug 12102

Summary: package uses missing user
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: courier-authlibAssignee: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: alex_sinister, lakostis, ldv
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael Shigorin 2007-06-21 17:35:53 MSD
В процессе переезда с беты на 4.0/Server:

warning: user courier does not exist - using root
 63: libcourier-authlib                      
###################################################################################################
[ 43%]
warning: user courier does not exist - using root
warning: user courier does not exist - using root
warning: user courier does not exist - using root
 64: courier-authlib                         
###################################################################################################
[ 44%]

Надо бы создать/проверить в %pre пользователя?
Comment 1 Dmitry Lebkov 2007-06-22 02:23:04 MSD
(In reply to comment #0)

Это из последнего Сизифа:

$ rpmquery -q -p ./libcourier-authlib-0.59.1-alt1.0.i586.rpm --scripts
preinstall scriptlet (through /bin/sh):
/usr/sbin/groupadd -r -f courier 2>/dev/null ||:
/usr/sbin/useradd -g courier -c 'Courier Authdaemon server' -d
/var/lib/courier-authlib -s '' \
        -r courier 2>/dev/null || :
postinstall program: /sbin/ldconfig
postuninstall program: /sbin/postun_ldconfig


Поведение, аналогичное описанному, ldv@ наблюдал при установке пакета
с помощью hsh-install. В реальной системе (не VPS и не hsh root) я
воспроизвести это не смог. :(
Comment 2 Michael Shigorin 2007-06-22 09:43:38 MSD
Да, это был OpenVZ VPS (с локальной аутентификацией).  Могу предоставить ещё
один для тестирования (или сборки, по удобству).

Сборка, до которой обновлялся -- именно 0.59.1-alt1.0.

Ещё одно дурацкое предположение -- а не может быть проблемой отсутствие
/var/lib/courier-authlib до установки пакета? (но в случае обновления эта
гипотеза не поясняет такой результат... да и см. ниже)

Выполнение --scripts руками без затыкания stderr даёт такой результат:

# /usr/sbin/groupadd -r -f courier
# /usr/sbin/useradd -g courier -c 'Courier Authdaemon server' -d
/var/lib/courier-authlib -s '' -r courier
mkdir: /etc/tcb/courier: File exists
Problems creating /etc/tcb/courier
# id courier
id: courier: No such user
# l /etc/tcb/courier/
total 8
drwx--x--- 85 root shadow 4096 May  3 14:00 ../
drwx--s---  2  105 auth     51 Mar 15 13:16 ./
-rw-r-----  1  105 auth     23 Mar 15 13:16 shadow
-rw-------  1  105 auth      0 Mar 15 13:16 shadow-
-rw-------  1  105 auth      0 Mar 15 13:16 shadow.lock
# grep courier /etc/passwd
# 

Отодвинул /etc/tcb/courier/, пересоздал пользователя -- успешно.

Возможно, проблема всё-таки где-то в shadow-utils?

Ладно, проверим насчёт отсутствия домашника:

# /usr/sbin/groupadd -r -f courier2
# /usr/sbin/useradd -g courier2 -c 'Courier Authdaemon server - test' -d
/var/lib/courier-authlib2 -s '' -r courier2
# ls /var/lib/courier-authlib2
ls: /var/lib/courier-authlib2: No such file or directory
# id courier2
uid=109(courier2) gid=59(courier2) groups=59(courier2)
# 
Comment 3 Dmitry Lebkov 2007-06-23 03:10:03 MSD
См. #11259
Comment 4 Michael Shigorin 2007-06-23 20:23:54 MSD
Мож действительно тогда Requires(pre): shadow-utils?  Но в данном VPS они были
установлены, проблема была в том, что каталог в /etc/tcb/ уже был, а вот строчки
в /etc/passwd (забыл проверить /etc/shadow) -- нет.  Бишь пользователь "частично
заведён".
Comment 5 Michael Shigorin 2010-10-30 23:58:10 MSD
(In reply to comment #3)
> См. #11259
Проверить именно тот VE уже не представляется возможным.  Сейчас порядок:

1: libcourier-authlib        ###################################### [ 50%]
2: courier-authlib           ###################################### [100%]

By default this package only have a PAM backend support.
For additional backends install appropriate package:
  Berkeley DB -- courier-authlib-userdb
  LDAP        -- courier-authlib-ldap
  PostgreSQL  -- courier-authlib-pgsql
  MySQL       -- courier-authlib-mysql

Running /usr/lib/rpm/posttrans-filetriggers
Done.

courier-authlib-0.62.2-alt0.1.1