LINUX.ORG.RU
ФорумAdmin

проблема с cyrus-sasl-2.1.22


0

0

Добрый день!
Установил на Slackware 10.2 cyrus-sasl-2.1.22, собрал из исходников согласно руководству:

./configure
make
make install
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2

По умолчанию в слаке стоял пакет cyrus-sasl-2.1.21, но он был собран без поддержки pam, поэтому его я снес, установил из исходников Linux-PAM-0.99.6.3 а затем cyrus-sasl-2.1.22.
Вроде все собралось нормально, но при попытке создать юзера

root@tiss:/usr/local/src# saslpasswd2 -c adm
Password:
Again (for verification):
/etc/sasldb2
Segmentation fault

вылетает ошибка Segmentation fault.

в /var/log/auth.log пишется:
Dec 11 13:29:20 tiss saslpasswd2: error updating sasldb: Invalid argument

Может кто сталкивался с такой проблемой, направьте пожалуйста на путь истинный.
anonymous

Ответ на: комментарий от DukeSS

/etc/sasldb2 у меня нет, этот файл по идеи должен создаться после
выполнения saslpasswd2, но я пробовал создавать пустой файл и
устанавливал на него все права, результат тот же, ну и кроме того я же
вроде как запускаю saslpasswd2 из под рута.

anonymous
()

Зачем такие извращения? Устанавливать на слаке pam, потом пересобирать сyrus-sasl поддержкой pam, чтобы потом использовать sasldb для хранения паролей. Предполагаетс, что товарищ, который осилил первый пункт, понимает, что он делает и не будет задавать на форуме панических вопросов - почему у меня прога в корку валится?
Нельзя ли просто было ограничиться sasldb и не тиранить животное?

geekkoo
()
Ответ на: комментарий от geekkoo

Докладываю! Затем что по замыслу хочется поставить cyrus-imapd c аутентификацией через такакс, поэтому ограничиться sasldb нельзя.

anonymous
()
Ответ на: комментарий от anonymous

Осталось только выяснить, зачем тогда Слака? Есть же более другие дистрибутивы с PAM-ом из коробки.
Я бы попробовал strace на них натравить...

geekkoo
()

И кроме-того ручная многоуровневая сборка (сначала собираем библиотеку X, потом зависящую от нее библиотеку У, потом программу Z) занятие, конечно, интересное, но всегда с непредсказуемым результатом. Может быть так, что библиотеки X, Y требуют разные и не совместимые между собой версии одной и той же библиотеки. Я бы в этой связи проверил их все насчёт ldd с db3 и db4. Эта BerkleyDB в слаке присутствует в трех несовместимых вариантах, а SASL и PAM ее наверняка должны использовать. Совпадают ли версии BDB, которые используют SASL и PAM?

geekkoo
()
Ответ на: комментарий от geekkoo

root@tiss:/usr/local/sbin# ldd ./saslauthd
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40021000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x40050000)
        libpam.so.0 => /lib/libpam.so.0 (0x40063000)
        libc.so.6 => /lib/libc.so.6 (0x4006d000)
        libdl.so.2 => /lib/libdl.so.2 (0x40186000)
        /lib/ld-linux.so.2 (0x40000000)

root@tiss:/lib# ldd ./libpam.so.0
        libdl.so.2 => /lib/libdl.so.2 (0x40014000)
        libc.so.6 => /lib/libc.so.6 (0x40019000)
        /lib/ld-linux.so.2 (0x80000000)
root@tiss:/lib#

Судя по этому pam не использует BDB.

anonymous
()
Ответ на: комментарий от DukeSS

пожалуйста
cyrus.conf:

# standard standalone server implementation

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"

  # this is only necessary if using idled for IMAP IDLE
#  idled                cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=0
#  imaps                cmd="imapd -s" listen="imaps" prefork=0
  pop3          cmd="pop3d" listen="pop3" prefork=0
#  pop3s                cmd="pop3d -s" listen="pop3s" prefork=0
#  sieve                cmd="timsieved" listen="sieve" prefork=0

  # these are only necessary if receiving/exporting usenet via NNTP
#  nntp         cmd="nntpd" listen="nntp" prefork=0
#  nntps                cmd="nntpd -s" listen="nntps" prefork=0

  # at least one LMTP is required for delivery
#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/spool/imapc/socket/lmtp" prefork=0

  # this is only necessary if using notifications
#  notify       cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression,
  # Sieve or NNTP
  delprune      cmd="cyr_expire -E 3" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400
}

ИМХО cyrus-imapd тут пока не причем.

anonymous
()
Ответ на: комментарий от DukeSS

imapd.conf:

# Sample configurations file for Cyrus IMAPd
# Most lines in this file are commented; in this case the default is used.
# The commented lines (usually) contain the default value

# The pathname of the IMAP configuration directory
#
configdirectory: /var/spool/imapc

# The partition name used by default for new mailboxes
#
#defaultpartition: default

# The directory for the different partitions
#
partition-default: /var/spool/imap

# The umask value used by various Cyrus IMAP programs
#
#umask: 077

# Whether to allow anonymous logins
#
allowanonymouslogin: no

# The percent  of  quota  utilization  over  which  the server generates
# warnings.
#
quotawarn: 90

# The length of the IMAP server's inactivity autologout timer, in minutes.
# The  minimum  value  is  30,  the default.
#
#timeout: 30

# Set the length of the POP server's inactivity autologout timer, in
# minutes.  The minimum value is 10, the default.
#
#poptimeout: 10

# Set the minimum amount of time the server forces users to wait between
# successive POP logins, in  minutes.  The default is 0.
#
#popminpoll: 0

# The list of userids with administrative rights.  Separate each userid
# with a space.  We recommend that administrator userids be separate from
# standard userids.  Sites using Kerberos authentication may use separate
# "admin" instances.
#
#admins: <none>
admins: cyrus

# The list of the host names of the mail domain's IMSP servers.  Separate each
# host name with a space.  The Kerberos identities of these servers may login
# as any user in order to perform commands by proxy.
#
#imspservers: <none>

anonymous
()
Ответ на: комментарий от DukeSS

# The Access Control List (ACL) placed on a newly-created (non-user)
# mailbox that does not have a parent mailbox.
#
#defaultacl: anyone lrs

# The pathname of the news spool directory.  Only used if the partition-news
# configuration option is set.
#
#newsspool: <no default>

# Prefix to be prepended to newsgroup names to make the corresponding IMAP
# mailbox names.
#
#newsprefix: <none>

# If nonzero, normal users may create their own IMAP accounts by creating
# the mailbox INBOX.  The user's quota is set to the value if it is positive,
# otherwise the user has unlimited quota.
#
autocreatequota: 20000

# Include notations in the protocol telemetry logs indicating the number
# of seconds since the last command or response.
#
#logtimestamps: no

# Number of seconds to pause after a successful plaintext login.  For systems
# that support strong authentication, this permits users to perceive a cost
# of using plaintext passwords.
#
#plaintextloginpause: 0

# The pathname of srvtab file containing the server's private  key.  This
# option is only used when the server is compiled with Kerberos
# authentication.
#
#srvtab: /etc/srvtab

# The list of remote realms whose users may log in using  cross-realm
# authentications.   Seperate each realm name by a space.  This option is
# only used when the server is compiled with Kerberos authentication.
#
#loginrealms: <none>

# If enabled, any authentication identity which has a rights on a user's
# INBOX may log in as that user.  This option is only used when the server
# is compiled with Kerberos authentication.
#
#loginuseacl: no

# If enabled, deliver wil look for Sieve scripts in user's home directories:
# ~user/.sieve.
#
sieveusehomedir: false

# If sieveusehomedir is false, this directory is searched for Sieve scripts.
# The active Sieve script is s called "default", placed in the users sieve
# sieve directory (ie. /usr/local/etc/imap/sieve/u/user).
#
sievedir: /var/spool/imapc/sieve

# If enabled, the partitions will also be hashed, in addition to the hashing
# done on configuration directories.  This is recommended if one partition has
# a very bushy mailbox tree.
#
#hashimapspool: false

# The mechanism used by the server to verify plaintext passwords.  Possible
# values include "PAM", "kerberos_v4", "passwd", and "shadow"
#
#sasl_pwcheck_method: pwcheck
sasl_pwcheck_method: saslauthd
#sasl_pwcheck_method: PAM

# If  enabled,  the  SASL library will automatically create authentication
# secrets when given a plaintext password.  See the SASL documentation.
#
#sasl_auto_transition: no

#
# EOF

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.