Версия программы: ================= courier-authlib-userdb-0.71.3-alt2.1 Шаги, приводящие к ошибке: ========================== 1) man makeuserdb 2) whereis pw2userdb 3) whereis vchkpw2userdb Результат: ========== Согласно документации из man для создания файла /etc/courier-authlib/userdb существует две утилиты: pw2userdb и vchkpw2userdb. Но при выполнении команды whereis из шагов 2 и 3 утилиты не найдены. Так же их нет среди устанавливаемых файлов пакета courier-authlib-userdb. Ожидаемый результат: ==================== Наличие двух утилит (pw2userdb и vchkpw2userdb). Дополнительно: ============== В дистрибутивах Ubuntu и Fedora присутствует одна из утилит: pw2userdb. Также ошибка воспроизводится в P10 на версии courier-authlib-userdb-0.66.4-alt0.3.1
Надо же, courier кто-то пользуется в дикой природе ))
(In reply to Alexandr Shashkin from comment #0) > Версия программы: > ================= > courier-authlib-userdb-0.71.3-alt2.1 > > Шаги, приводящие к ошибке: > ========================== > 1) man makeuserdb > 2) whereis pw2userdb > 3) whereis vchkpw2userdb > > Результат: > ========== > Согласно документации из man для создания файла /etc/courier-authlib/userdb > существует две утилиты: pw2userdb и vchkpw2userdb. Но при выполнении команды > whereis из шагов 2 и 3 утилиты не найдены. Так же их нет среди > устанавливаемых файлов пакета courier-authlib-userdb. > > Ожидаемый результат: > ==================== > Наличие двух утилит (pw2userdb и vchkpw2userdb). Я тут посмотрел исходники pw2userdb, это perl скрипт который, копирует содержимое /etc/password и /etc/shadow в userdb. Но, т.к. ALT использует TCB, shadow у нас пустой и применимость скрипта вмесьма сомнительна: if ( -f $shadow && ! $noshadow) { open (SHADOW, $shadow) || die "$!\n"; while (<SHADOW>) { next if /^#/; ($acct,$passwd,$dummy)=split(/:/); $PASSWORD{$acct}=$passwd; } close (SHADOW); } т.е. данный функционал вполне может заменить однострочник на bash. Я просто могу добавить это в README.ALT
Кроме /etc/shadow есть еще и /etc/passwd. Если однострочник на bash выполнит действия по преобразованию данных из /etc/passwd, то думаю тогда можно и в README. А что по поводу vchkpw2userdb?
(In reply to Alexandr Shashkin from comment #3) > Кроме /etc/shadow есть еще и /etc/passwd. Если однострочник на bash выполнит > действия по преобразованию данных из /etc/passwd, то думаю тогда можно и в > README. Судите сами: while ( defined ($key=each %UID)) { print "$key$domain\tuid=$UID{$key}|gid=$GID{$key}|home=$HOME{$key}" . ( $SHELL{$key} =~ /./ ? "|shell=$SHELL{$key}":"") . ( $PASSWORD{$key} =~ /./ ? "|systempw=$PASSWORD{$key}":"") . ( $GECOS{$key} =~ /./ ? "|gecos=$GECOS{$key}":"") . "\n"; print "$UID{$key}=\t$key\n" unless $nouid; } Строго говоря, какую проблему мы пытаемся решить? Если только "чтобы было как в man", то проще выкинуть упоминания про этот скрипт из man'а, поскольку в 21ом веке я слабо представляю user case, где нужно доставлять почту в maildir системному пользователю, проще завести vmail и создавать пользователей через userdb(8) или вообще держать их в LDAP/SQL. А что по поводу vchkpw2userdb? > 0.60.4 2008-05-08 Mr. Sam <sam@email-scan.com> * Makefile: Drop the unmaintained authvchkpw module. Это вообще какой-то рудимент из прошлого.
Поскольку практической пользы от этих утилит я не вижу, предоставляю исправить это автору бага :)