ugrás a tartalomhoz

PASSWD

Anonymous · 2005. Május. 31. (K), 09.36
Sziasztok!

Az lenne a kérdésem, hogy PHP-ből hogyan lehet megoldani egy linuxos gépen létező user jelszavának megváltoztatását? Az új user hozzáadásával nincs semmi gond, mert az adduser-nek rögtön egy sorban meg tudok adni paramétert, de a passwd kétszer kéri a jelszót, és itt jön a gondom...

Tud valaki segíteni?

Előre is köszönöm!
 
1

proc_open()

bbalint · 2005. Május. 31. (K), 09.56
hajó l tudom, a proc_open() fügvénnyel lehet beszélgetni egy-egy processzel, így a passwd-vel is ...

bbalint
2

Így próbáltam, de semmit

Anonymous · 2005. Május. 31. (K), 11.26
Így próbáltam, de semmit sem csinált:

$user = $_POST["user"];
$pass = $_POST["pass"];
$volumesp = popen("passwd $user", "w");
fputs($volumesp,$pass."\n");
fputs($volumesp,$pass."\n");
pclose($volumesp);
3

újsor vs. enter

bbalint · 2005. Május. 31. (K), 13.57
szerintem (bár nem néztem passwd forráskódot) nem újsor karaktert (\n, ASCII 10) vár a passwd, hanem enter billentyűt (\r ASCII 13), hogy lenyomd ...

illetve, tessék má' kipróbálni azt a proc_open() függvényt, amit ajánlottam; a popen()nél meg is mondják, hogy
If you're looking for bi-directional support (two-way), use proc_open().
vagyis a kétirányú (nemcsak olvasás, hanem írás) kommunikációt akarol folytatni, akkor használd a proc_open()t.

bbalint
6

proc_open-t nem tudok

Anonymous · 2005. Május. 31. (K), 19.12
proc_open-t nem tudok használni, mert a szerveren 4.1.2-es (??) php van, de már találtam egy chpasswd csomagot, aminek van cgi része is. Mindenesetre az exec("echo \"user:pass\" | chpasswd") vel megy.
4

echo, |

Őry Máté · 2005. Május. 31. (K), 14.05
hello
most úgy hirtelen vmi ilyesmit javaslok:
`echo "újpw
újpw"|passwd user`

Maat
5

nem.

bbalint · 2005. Május. 31. (K), 14.21
egy gyors próba... és shell-ben is ugyanazt mondja, hogy
Conversation error

bbalint