Forum Webscript.Ru
Программирование => Теория, алгоритмы и стандарты => Тема начата: Ancient от 17 Января 2003, 02:37:22
-
Кто-нибудь придумал какой-нибудь нормальный способ доступа к файлами типа master.passwd через web сервер? Например в комплекте perl есть для этого спец. модуль... А с php приходится очень сильно извращаться...
-
Uzh ne pro eto-li ty govorish\' :
http://pear.php.net/package-info.php?pacid=128
File_Passwd
http://pear.php.net/package-info.php?pacid=131
File_HtAccess
-
Посмотрел. Спасибо за ссылку, только это немного другое. Подобный класс я уже написал сам, но вот проблема: для его работы необходимо чтобы веб-сервер имел права доступа к файлам с паролями, а этого в реальной жизни не бывает.
Так вот и вопрос как не нарушая безопасности системы через веб администрировать пользователей? Я нашел выход, но охото более красивого и логичного решения...
-
a kak nashet paroli cherez MySQL pol\'zuias\' ENCRYPT() ?
U nas v providere tak delaiut ;)..
Teoria vobshem takaia, ty cherez PHP vsio v MYSQL delaesh\', a v systeme est\' cron kotoryi naprimer kazhdye 15 minut tebe sinhroniziruet tvoi passwd file..
Chto-to tipo togo :
#!/sbin/sh
MYSQL="/usr/local/mysql/bin/mysql -s -u passwd -h sqlserver dbname"
MY_QRY=\'
SELECT users.login,uid,name,"/bin/false"
FROM users ORDER BY users.login;\'
echo $MY_QRY | $MYSQL >> /tmp/.sink.passwd
if [ "$?" != 0 ]; then
exit 1
fi
cat /tmp/.sink.passwd | awk -F\\t \'
{
print $1 ":x:" $2 ":500:" $3 ":/export/home/" $1 ":" $4
}
\' >> /etc/passwd.tmp
MY_QRY=\'
SELECT users.login,password
FROM users
ORDER BY users.login;
\'
echo $MY_QRY | $MYSQL >> /tmp/.sink.shadow
if [ "$?" != 0 ]; then
exit 1
fi
cat /tmp/.sink.shadow | awk -F\\t \'
{
print $1 ":" $2 ":11001::::::"
}
\' >> /etc/shadow.tmp
rm -f /tmp/.sink.shadow
mv /etc/passwd.tmp /etc/passwd
mv /etc/shadow.tmp /etc/shadow
######################
Chio dumaesh\' ??
-
tam pravda nado eshio i usera tipa "separator" vvesti, chtoby systemye accounty ne trogat\'...
-
Этот вариант я рассматривал. Не самое хрошое решение, т.к. после того как пользователь изменит пароль через веб, он на самом деле изменится только минут через 15. Это главный недостаток.
Мне подсказали более красивый вариант - работа через pipe, но тоже...
-
ia tut nedavno ofigennuiu shtuku nashel.. nazyvaetsia poppassd .
Demon, visit na 106/tcp i slushaet esli kto-nit\' ne hochet passwd pomeniat\'. Dolzhen vvesti svoi pravil\'nyi parol\' a potom novyi dvazhdy.. Potom on tam uzhe pod rootom k passwd obrashaetsia... proga na C.
http://echelon.pl/pubs/poppassd.html
Pomoemu klassnaia vesh\'.
-
[off]не подскажете как бы мне побольше дырочку в системе безопасности своего сервера проковырять?[/off]
-
-> Теория, алгоритмы и стандарты
-
Открой файлы и дай доступ по телнету, пусть сами ковыряют :).
через веб администрировать пользователей
Ни один НОРМАЛЬНЫЙ администратор не администрирует своих пользователей через веб-интерфейс. Разве что только по ОСОБОЙ необходимости.
-
AliMamed
chto znachit dyrochku..
Mogu posporit\' chto sami pol\'zovalis\' webmail\'om ili meniali svoi parol\' u vashego providera cherez web.
Programma - open source. Nado zalez\' v C i sdelai chtob tol\'ko useram osoboi gruppy paroli meniat\' bylo mozhno. Nu a chio srazu vsio obserat\'. Ia poka luchshe sposoba ne nashel.
Yukko,
a ty slyshal o korporativnyh mnogofunctsional\'nyh EXTRANET.. chio ty dumaesh\', tam paroili nel\'zia meniat\' cherez web ? A pro SSL slyshal ? nado zhe... A v providere kak liudiam davat\' vozmozhnost\' parol\' pomeniat\' ? Po emailu ? ili po telefonu ??
-
Yukko
Ребята, какая разница для какого администратора я это делаю. Все равно - нормальный он или нет, но сделать надо. Вот и вопросы, как более безопасно это делать...
PS Вообще-то это часть диплома.
-
как более безопасно это делать...
Через веб передавать по SSL, однозначно.
Stas а аутентификация у провайдера не через его базу паролей производится, что в операционной системе, а через ту которая на mysql хранится. С вебмейлом работал, и у прова пароль менял, я понимаю, что иногда надо делать и вебадмин и вебмейл, но перед тем, как отправить свой пароль в нет твой браузер спрашивает хочешь ли ты сделать это, с провом ты работаешь по выделенке, либо по дайлапу и перехватить твой пароль можно в 90% случаев только аппаратными средствами, с вебмейлом хуже, там пароль передается дальше по нету, но это уже твои проблемы.
Ancient Почитай первый пост Стаса, там где он советует через MySQL делать, давать скриптам напрямую что-то делать в системе ничего нельзя.
-
У этого алгоритма есть недостаток.
Мне подсказывали попробовать работать с pipe. Вешаем скрипт для обработки pipe, потом просто кидаем в pipe данные и все. Никаких задержек. Как вам такой вариант?