Как с помощью РНР сменить пользователю пароль в линуксе ?

sipliy

Утомленный солнцем
Как с помощью РНР сменить пользователю пароль в линуксе ?

Есть командочка passwd.
Мне надо средствами РНР сменить пароль пользователю используя эту команду. Все это надо сделать через бровузер.
Я пытался делать и через exec() и через system() и так :
PHP:
$cmd=`passwd.......`;
И все безтолку. Эта команда работает в интерактивном режиме, т.е спрашивает старый пароль, потом какой хотите новый и т.д.
Вопрос в том, как избежать этой интерактивности. Можно ли сделать это все одной строкой ?
 

tony2001

TeaM PHPClub
мало того - это команда работает либо от юзера (тогда только для запускающего ее юзера), либо от рута.
т.к. апач от рута никто не запускает, а пароль юзеру апача менять бесполезно, то этого сделать нельзя в принципе.
рассказывай какую задачу ты так решаешь.
 

sipliy

Утомленный солнцем
Именно так. Вот я над ней уже бьюсь бьюсь а все безтолку.
Задача такая.
Мне нужно через бровузер:
1. добавить пользователя на линуксе
2. создать ему домашний каталог
3. назначить некие права
4. определить пароль
Короче говоря та еще дыра получается.
 

BigDaddy

Guest
Поставь себе ВебМин и не пудри мозги. Дополнительно к твоей задаче сможешь конфигить всю систему + работает через ссл + работает без (!) запущенного вебсервера
 

BigDaddy

Guest
И опять я на две секунды дольше печатал. Потренироваться, что ли... :(
 

sipliy

Утомленный солнцем
?? Кто такой webmin ?? и с чем его едят ??
А ПХП зачем....хм.. просто это часть задачи в одной большой программе. А программа написана на ПХП Работать с ентой программой будет человек далекий от линуксов, юниксов и пхпы. Он просто будет жать на кнопочку.
 

sipliy

Утомленный солнцем
Нда.. Интересно много ли там всякого рода разных багов ?
Не встречались с проблемами по использованию сия продукта?
 

mvc_aaa

MvC of PHPClub
Я - нет.

Там свой минисервер на перле, довольно большой свой коммунити, всяческие плугины и модули. Можно насоздавать юзеров и раздать им пермишны на разные операции: правка бинда, апача, всяческие алармы еще есть и пр.пр...

Короче TRY.
 

sipliy

Утомленный солнцем
Но всетаки интересно, кто нибудь решал эту проблему на ПХП.
Интересно как можно победить интерактивность ввода паролей. Допустим , что все условия выполнены и скрипт запускается от рута и тому подобное.
 

Vladik

Guest
допущение не такое уж и нереальное.
есть suexec.
 

Vladik

Guest
поиск Google: suexec apache CGI
Смысл в том что для пользователя в конфиге апача создается VirtualHost в котором устанавливаются директивы User и Group.
Тогда скрипты из cgi-bin-директории этого виртуального хоста запускаются с правами соответствующего пользователя (это делает suexec).
А вот как преодолеть интерактивность....
 

BigDaddy

Guest
Написать скрипт на шеле или перле, который будет делать su а потом passwd и запускать этот скрипт из пхп.
 

sipliy

Утомленный солнцем
А если написать маханький серверочек, который будет слухать сокет и соответсвенно поступающей инфы на этот сокет будет выполнять этот шелл скрипт, который в свою очередь и будет делать грязную работу.
Так никто не делал ? Если делали, то поделитесь опытом. Какие трудности встретили и как их обошли.
 
Сверху