LINUX.ORG.RU
ФорумAdmin

Apache htpasswd ведёт себя странно !


0

0

Утилита htpasswd из свежепоставленного на RH 7.3 Apache 2.0.39 странно себя ведёт: при попытке запуска ./htpasswd -c <passwd_file_name> <user_name> пишет: "./htpasswd: -c and -n options conflict". Более того, создав заранее файл <passwd_file_name> путём "touch <passwd_file_name> и дав после этого ./htpasswd <user_name> всё, вроде бы, проходит гладко до тех пор, пока не появляется необходимость добавить ещё одного юзера. Следующая команда ./htpasswd <passwd_file_name> <second_user_name> напрочь затирает <passwd_file_name> и просто его переписывает, как будто была запущена с ключём -c. Никаких предупреждений (тем более извинений :-) от неё при этом не слышно. Такое ощущение, что она по умолчанию использует ключ -c. Вопрос: можт это не баг, можт это я такой дурачок и не понимаю своего счастья имея за раз не более одного юзера в Апаче ? Беда в том, что иногда бывает надо иметь 2-х и более ;-) Есть ли выход помимо того, что я щас делаю: "./htpasswd -b <temp_file_name> <new_user> <new_user_passwd> && cat <temp_file_name> >> <passwd_file_name>" ?


хм... а почему ./htpasswd, а не просто htpasswd?..

обычно утилитка htpasswd лежит или в /usr/bin/htpasswd (GNU INSTALL), или в /usr/local/apache/bin/htpasswd (BSD INSTALL), но уж не в текущей директории (может у тебя там скрипт одноимённый?)..

в любом случае htpasswd себя так вести не должен, попробуй скачать другой файлик или поставить другой дистриб апача...

unReal
()

./htpasswd именно потому, что, для чистоты эксперимента, я стою в /usr/local/apache2/bin (именно туда по-умолчанию падает Apache 2.0.x из тарбола). Другой дистрибутив Апача - запросто: Apache 2.0.39 Win32 под Win2k (на моём ноутбуке) ведёт себя ровно так же :-( Видимо, единственное решение - пересесть на ./htdigest. Во-первых, у него нет таких проблем, как у старичка ./htpasswd, а во-вторых, и так давно пора задматься над вопросами безопасности. В принципе ж, Апачу можно вааще ручками набить plain text вида <user>:<password>, но это уж совсем криминал ;-)

root66
() автор топика

a ;), ну вообще то я ручками делал в начале, копировал пароль из /etc/shadow ;) когда и не подозревал о существовании утилитки htpasswd ;).

по поводу другого дистрибутива, просто юзай htpasswd из Apache 2.0.36 или лучше из Apache 1.3.26 (1.3.2x).

По поводу htdigest -- хз, мне htpasswd пока что хватает ;)

а на счёт секьюрити, хм, скажу лишь, что htpasswd нужно юзать с параметром -m (т.е. MD5-пароли).

unReal
()

На счёт -m - штука известная. Тока смысл ./htdigest, как я понимаю, не в жуткой криптованности хранящихся на сервере паролей, а в ПЕРЕДАЧЕ их по сети в криптованном виде, вроде того, как это когда-то очень давно придумал делать Novell, а уж потом у него все это передрали :-) Т.е. вместо "AuthType Basic" пишем "AuthType Digest" (http://httpd.apache.org/docs-2.0/howto/auth.html#gettingitworking) и начинаем спать спокойно ;-)

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