The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"htdigest работа из скрипта"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Аутентификация)
Изначальное сообщение [ Отслеживать ]

"htdigest работа из скрипта"  +/
Сообщение от takas (ok) on 24-Окт-08, 09:08 
Доброго времени суток коллеги

Извините - может не туда запостил.

Как-то задумался, а можно ли htdigest заставить работать из скрипта, то есть, полностью (без ввода пароля ручками и тд)..

Задумался - начал реализовывать, но столкнулся со следующей проблемой.

htdigest (от apache-2.2.8) не воспринимает то, что ему передается через конвейер, то есть такая конструкция

`echo password | htdigest -c pass.pass unknown takas`

для него не проходит.

Задумался, как можно это реализовать.

Может есть у кого мысли по этому поводу?

Спасибо за содействие (меня это вряд-ли отпустит, так что прошу помощи :)


Да, кстати, вот скрипт основной части:


#!/bin/sh
if [ -z $1 ]; then echo "ech: File name please"
exit 1
else
if [ -f sqp.pass ]; then clear
else
`echo -n > sqp.pass && chmod 600 sqp.pass`
fi
l=1
b=`cat $1 | grep : | cut -d : -f 1,7 | wc -l -- | cut -d " " -f 1,7`
while [ $b -ne 0 ]
do
c=`cat $1 | grep : | cut -d : -f 1,7 > tmp$ && sed "$l""p;d" tmp$ && rm tmp$`
g=`cat $1 | grep : | rev | cut -d : -f 1,7 | rev > tmp$$ && sed "$l""p;d" tmp$$ && rm tmp$$`
`echo $g | ./htdigest sqp.pass unknown $c`
echo $c
echo $g
b=`expr $b - 1`
l=`expr $l + 1`
#echo $l
#echo $b
#echo $c
done
exit 0
fi


Файл паролей может содержать мусор (комментарии '#'), имя и пароль разделяются ':') десятая строка собственно получение кол-ва строк в файле, ну а дальше отфильтровываем мусор (получаем одни имена), потом уже отфильтровываем пароли (переворачиваем, фильтруем, переворачиваем), а вот htdigest - обломс!

FreeBSD 7.0 RELEASE скрипт для /bin/sh

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "htdigest работа из скрипта"  +/
Сообщение от takas (ok) on 24-Окт-08, 15:26 
>
>Файл паролей может содержать мусор (комментарии '#'), имя и пароль разделяются ':')
>десятая строка собственно получение кол-ва строк в файле, ну а дальше
>отфильтровываем мусор (получаем одни имена), потом уже отфильтровываем пароли (переворачиваем, фильтруем,
>переворачиваем), а вот htdigest - обломс!
>
>FreeBSD 7.0 RELEASE скрипт для /bin/sh

Вообщем тему можно закрывать, вопрос решен...

сделал следующим образом..


#!/bin/sh
if [ -z $1 ]; then echo "ech: File name please"
exit 1
else
if [ -f sqp.pass ]; then clear
else
`echo -n > sqp.pass && chmod 600 sqp.pass`
fi
l=1
b=`cat $1 | grep : | cut -d : -f 1,7 |
wc -l -- | cut -d " " -f 1,7`
while [ $b -ne 0 ]
do
c=`cat $1 | grep : | cut -d : -f 1,7 > tmp$ && sed "$l""p;d" tmp$ && rm tmp$`
g=`cat $1 | grep : | rev | cut -d : -f 1,7 | rev > tmp$$ && sed "$l""p;d" tmp$$ && rm tmp$$`
hash=`echo "$c"":unknown"":""$g" | md5 | cut -b -32`
`echo "$c"":unknown"":""$hash" >> sqp.pass`
echo $c
#echo $g
b=`expr $b - 1`
l=`expr $l + 1`
#echo $l
#echo $b
#echo $c
done
exit 0
fi


unknown - имя реалма... $c - имя пользователя из файла $g - пароль из файла...

Можно скармливать скрипту текстовый файл (имя:пароль)...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "htdigest работа из скрипта"  +/
Сообщение от gostest on 10-Июл-09, 14:52 
echo генерирует дополнительный new line символ, поэтому стоит использовать echo -n при генерации hash.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "htdigest работа из скрипта"  +/
Сообщение от Олейников Дмитрий email on 06-Июл-17, 09:23 
Такая замена с рукопашной генерацией строк файла, не всегда приемлема. У htdigect есть полезная особенность - она умеет не только добавлять пароли, но и менять их. В скрипте это , наверное, сделать не просто. А иногда нужно делать именно менеджмент пользователей с автоматической сменой пароля.

ЗЫ:Хотя, может sed при правильном приготовлении сможет?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру