Задать вопрос
opium
@opium
Просто люблю качественно работать

Почему в svn в не работает автоматическая авторизация при запуске из cron

На сервер выполняется время от времени простой скрипит
cd /svn
svn up

Пароль и логин были сохранены при первом чекоуте.
Репозиторий находится на этом же сервере и работает через mod_dav_svn в apache
Когда запускаешь в консоли все проходит отлично, когда из крона

Authentication realm: <svnip:80> Authorization Realm
Password for 'root': Authentication realm: <svnip:80> Authorization Realm
Username: svn: OPTIONS of 'http://esd@svnip/vpn': authorization failed: Could not authenticate to server: rejected Basic challenge (http://svnip)

Почему не проходит автоматическая авторизация когда скрипт запускается из крона?
  • Вопрос задан
  • 4172 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
lybin
@lybin
looking for remote full time job python backend
Потому что крон запускается под другим пользователем, под которым он не знает параметры авторизации, типа такого)
Ответ написан
в параметры комстроки впишите логин и пароль, и права доступа на скрипт выставьте такие, чтобы никто лишний не прочитал
Ответ написан
DmZ
@DmZ
Пароль и логин были сохранены при первом чекоуте.

Password for 'root':

1. Точно ли cron задача запускается от того же пользователя под которым были сохранены кредсы?

2. Попробуйте явно прописать следующие параметры в конфигурации:
~/.subversion/config:
store-passwords = yes
store-auth-creds = yes

~/.subversion/server:
store-plaintext-passwords = yes
store-passwords = yes
store-auth-creds = yes

3. svn любит удалять сохраненные кредсы если по каким-то причинам авторизация не прошла (вплоть до медленного ответа сервера) — сталкивался с таким поведением регулярно одно время из-за сильной загруженности svn сервера. Выход — прописать кредсы явно в коммандной строке svn --username=xxx --password=yyy up
Секурность это практически не уменьшит, так как пароль все равно плейнтекстом лежит в ~/.subversion/auth/*, но защитит от неправильного поведения. (Чтобы пароли не светились по ps ax можно запускать так U=xxx P=yyy svn --username=$U --password=$P up)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы