LINUX.ORG.RU
ФорумAdmin

Apache, аутентификация по /etc/passwd.


0

0

Поднимаю Apache+SVN на D-Link DNS-323, хочу чтобы системные пользователи (/etc/passwd /etc/group) могли пользоваться SVN'ом. Как это сделать? Нагуглить удаётся разве что

http://search.cpan.org/~speeves/Apache-AuthenPasswd-0.12/AuthenPasswd.pm

Это оно?

Кроме того, в Apache FAQ говорится, что аутентификация по /etc/passwd одно из самых страшных зол. И ответ, собственно, как это сделать не даётся. А можно ли от этого зла спастись применив SSL?

http://httpd.apache.org/docs/1.3/misc/FAQ.html#passwdauth

★★★★★

Подними LDAP, libnss, pam_ldap загони всех системных пользователей в ldap, настрой ldap_auth в apache и mod_dav и dav_svn и все будет работать.

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

И всё будет...

>Подними LDAP, libnss, pam_ldap загони всех системных пользователей в ldap, настрой ldap_auth в apache и mod_dav и dav_svn и все будет работать.

В 64 мегабайтах ОЗУ на 500 мегагерцовом ARM'е? Напоминаю, я это дело на DNS-323 поднимаю.

http://wiki.dns323.info/

Camel ★★★★★
() автор топика

0) SSL обязательно, иначе все пароли будут ходить открытыми и вообще теряется их смысл;

1) отключаем mod_auth_basic, включаем mod_auth_pam. Если последнего нет в дистрибутиве, то качаем и собираем ручками;

2) добавляем в нужное место конфига apache2:
        AuthType Basic
        AuthPAM_Enabled on
        AuthName "XXX"
        Require valid-user
        Require group xxx

3) пользователь, от имени которого работает apache (обычно www-data) должен входить в группу shadow, чтобы читать /etc/shadow и т.д.

4) /etc/init.d/apache2 restart

Кажется ничего не забыл :)

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

Эх нет, забыл - в зависимости от настроек pam может потребоваться /etc/pam.d/apache2 (или аналог). Содержимое можно списать с samba, session* там ничего не портит (или пусть меня поправят).

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

[Solved]Apache, аутентификация по /etc/passwd.

Спасибо, ly. Удалось настроить, только надо ещё AuthBasicAuthoritative Off добавить, иначе аутентификация не проходит и в error.log сыпятся вот такие ошибки:

[error] Internal error: pcfg_openfile() called with NULL filename

Итоговые настройки такие (всё делается в Debian Lenny):

В /etc/apache2/sites-available/default:

<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthBasicAuthoritative Off
AuthPAM_Enabled on
AuthName "Company subversion repository"
Require valid-user
Require group users
</Location>

ls -l /etc/shadow
-rw-r----- 1 root shadow xxxxxx /etc/shadow

mod_auth_pam ставится командой apt-get install libapache2-mod-auth-pam, /etc/pam.d/apache2 ставится сам, наверное вместе с mod_auth_pam, содержит такое:

@include common-auth
@include common-account

Camel ★★★★★
() автор топика
Ответ на: И всё будет... от Camel

>В 64 мегабайтах ОЗУ на 500 мегагерцовом ARM'е? Напоминаю, я это дело на DNS-323 поднимаю.

И что? У вас там какая-то мега-нагрузка планируется? 2 модуля которые у вас и так есть, 2 новых библиотеки + ldap - и все упадет?

Впрочем, pam уже посоветовали прикрутить :)

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

ОЗУ много не бывает.

>И что? У вас там какая-то мега-нагрузка планируется? 2 модуля которые у вас и так есть, 2 новых библиотеки + ldap - и все упадет?

Ну, таки там не только Apache+SVN будет, ещё iptables и vsftpd надо бы поднять. А может и ещё чего.

Camel ★★★★★
() автор топика
Ответ на: ОЗУ много не бывает. от Camel

можно попробовать лысым svnserve'ом пользоваться, чтобы не таскать на 64мб толстый апач.

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