Программирование > Теория, алгоритмы и стандарты
Доступ к master.passwd через web
Ancient:
Кто-нибудь придумал какой-нибудь нормальный способ доступа к файлами типа master.passwd через web сервер? Например в комплекте perl есть для этого спец. модуль... А с php приходится очень сильно извращаться...
Stas:
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
Ancient:
Посмотрел. Спасибо за ссылку, только это немного другое. Подобный класс я уже написал сам, но вот проблема: для его работы необходимо чтобы веб-сервер имел права доступа к файлам с паролями, а этого в реальной жизни не бывает.
Так вот и вопрос как не нарушая безопасности системы через веб администрировать пользователей? Я нашел выход, но охото более красивого и логичного решения...
Stas:
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\' ??
Stas:
tam pravda nado eshio i usera tipa "separator" vvesti, chtoby systemye accounty ne trogat\'...
Навигация
Перейти к полной версии