ФорумРазработкаУстановка и администрирование ПОРазное ПО → svn + sasl кто поднимал?

svn + sasl кто поднимал?

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 16 декабря 2010 г. 8:44

    похоже настройка sasl - это отдельные танцы с бубном. какие файлы и папки где создавать, какие на них права ставить, какие конфиги прописывать, что запускать, как тестировать, что пихать в автозапуск?
    не всё полезно, что в swap полезло
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 16 декабря 2010 г. 15:59, спустя 7 часов 14 минут 17 секунд

    ура, я настроил эту поебень
    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 декабря 2010 г. 16:01, спустя 2 минуты 14 секунд

    красава :D
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 16 декабря 2010 г. 17:25, спустя 1 час 23 минуты 42 секунды

    master, ты красавчик. опиши, будет куда заглянуть когда приспичит
    ιιlllιlllι унц-унц
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 16 декабря 2010 г. 18:35, спустя 1 час 10 минут 33 секунды

    я не уверен что сделал всё правильно, однако то как я сделал более-менее работает
    предположим мы установили пакет subversion и собираемся запускать его из-под пользователя svnuser, папка репозиториев ~/repos/, realm = REALM
    далее

    svnuser@host:~$ cd ~/repos/

    svnuser@host:~/repos/$ svnadmin create demo

    svnuser@host:~/repos/$ nano demo/conf/svnserve.conf

    тестовый пользователь будет alice. настраиваем репозиторий без sasl до такого состояния, чтоб мы могли подключиться к svn и сделать
    svn ls –username alice svn://host/demo

    после этого

    читаем файл sasl.txt.gz (найти его можно в пакете subversion-doc или subversion-dev или типа того), многое понимаем

    в центосе svnuser@host:~$ sudo yum install cyrus-sasl cyrus-sasl-lib
    в убунте svnuser@host:~$ sudo aptitude sasl2-bin
    т.е. устанавливаем sasl

    svnuser@host:~$ sudo chown svnuser:svnuser /etc/sasldb2
    в этом файле будут храниться пароли и он вроде как должен быть доступен svnserve

    svnuser@host:~$ saslpasswd2 -c -u REALM alice
    этим мы создаём в /etc/sasldb2 пользователя alice в домене REALM
    saslpasswd2 лежит в /usr/sbin
    realm тот же что прописан в svnserve.conf

    svnuser@host:~$ sudo service saslauthd start
    тут он должен либо запуститься, либо ругнуться. если ругнётся, значит нужно открыть файл /etc/default/saslauthd и исправить там START на yes
    если не ругнётся значит этот файл не был создан автоматически (как в блядском центосе) и его нужно добавить вручную (пример ниже)

    проверяем пользователей:
    svnuser@host:~$ sasldblistusers2
    он должен показать что-то вроде
    alice@REALM: userPassword
    если не покажет ничего, значит фейл, пользователей в файле /etc/sasldb2 не обнаружено

    svnuser@host:~$ testsaslauthd -u alice -p password
    варианты ответа
    connect(): Permission Denied - значит где-то не выставлены права на нужные конфигурационные файлы
    0: NO "authentification failed" - пароль не подходит, это может говорить о том что пароль неправильный или же о том что это ебаный центос. т.е. если вы видите фейл не расстраивайтесь, закончите шаги и попробуйте аутентифицироваться через svn-клиент
    0: OK "Success" - всё заебись



    svnuser@host:~$ cd /usr/lib/sasl2/
    svnuser@host:/usr/lib/sasl2/$ sudo nano svn.conf

    в него пишем
    pwcheck_method: auxprop
    auxprop_plugin: sasldb
    mech_list: DIGEST-MD5

    svnuser@host:/usr/lib/sasl2/$ sudo chown svnuser:svnuser svn.conf

    дальше правим svnserve.conf :
    use-sasl = true
    min-encryption = 128
    max-encryption = 256

    затем проверяем с этого хоста или другого
    svn ls –username alice svn://host/demo
    вводим пароль, должно типа всё заработать

    добавляем в автозапуск service saslauthd start
    этот сервис должен быть запущен из-под рута

    вуалеап

    чтобы добавить или изменить пользователя нужно править не passwd репозитория, а использовать команду saslpasswd2
    при этом если realm двух репозиториев будет одинаковым, то и права доступа на них будут одинаковыми

    пример /etc/default/saslauthd, взят с ubuntu-настроек

    #
    # Settings for saslauthd daemon
    # Please read /usr/share/doc/sasl2-bin/README.Debian for details.
    #

    # Should saslauthd run automatically on startup? (default: no)
    START=yes

    # Description of this saslauthd instance. Recommended.
    # (suggestion: SASL Authentication Daemon)
    DESC="SASL Authentication Daemon"

    # Short name of this saslauthd instance. Strongly recommended.
    # (suggestion: saslauthd)
    NAME="saslauthd"

    # Which authentication mechanisms should saslauthd use? (default: pam)
    #
    # Available options in this Debian package:
    # getpwent  – use the getpwent() library function
    # kerberos5 – use Kerberos 5
    # pam       – use PAM
    # rimap     – use a remote IMAP server
    # shadow    – use the local shadow password file
    # sasldb    – use the local sasldb database file
    # ldap      – use LDAP (configuration is in /etc/saslauthd.conf)
    #
    # Only one option may be used at a time. See the saslauthd man page
    # for more information.
    #
    # Example: MECHANISMS="pam"
    MECHANISMS="pam"

    # Additional options for this mechanism. (default: none)
    # See the saslauthd man page for information about mech-specific options.
    MECH_OPTIONS=""

    # How many saslauthd processes should we run? (default: 5)
    # A value of 0 will fork a new process for each connection.
    THREADS=5

    # Other options (default: -c -m /var/run/saslauthd)
    # Note: You MUST specify the -m option or saslauthd won't run!
    #
    # WARNING: DO NOT SPECIFY THE -d OPTION.
    # The -d option will cause saslauthd to run in the foreground instead of as
    # a daemon. This will PREVENT YOUR SYSTEM FROM BOOTING PROPERLY. If you wish
    # to run saslauthd in debug mode, please run it by hand to be safe.
    #
    # See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
    # See the saslauthd man page and the output of 'saslauthd -h' for general
    # information about these options.
    #
    # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
    OPTIONS="-c -m /var/run/saslauthd"
    Спустя 150 сек.
    тонкость в том, что /etc/sasldb2 хранит пароли в открытом виде, поэтому доступ к нему не должен быть публичным, 0600 думаю будет в самый раз
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!