Avatar billede freegeg Nybegynder
31. maj 2004 - 14:53 Der er 8 kommentarer og
1 løsning

ændre kode på en linux bruger, med php script

Jeg har et mindre webhotal, hvor jeg hoster nogen domains....
Jeg vil gerne kunne tilbyde en service, hvor man kan ændre sin kode på sin bruger.....

Men hvordan kan man lave et php script... der kan ændre kode på en linux bruger?
Avatar billede Slettet bruger
31. maj 2004 - 15:09 #2
$variabel = `kommando`

Udfører en handling.
Avatar billede freegeg Nybegynder
31. maj 2004 - 15:17 #3
jeg skal bruge linux kommanoden /passwd username til at ændre koden

men den opføre sig ikke som et program der kan køres gennem en af de funktioner


den gøre følgende:

passwd domainuser
New password: []
Retype new password: []
Avatar billede riversen Nybegynder
31. maj 2004 - 15:21 #4
jeg har ingen forslag til at komme udenom det.
Avatar billede riversen Nybegynder
31. maj 2004 - 15:24 #5
prøv at kigge her:
http://www.experts-exchange.com/Web/Web_Languages/PHP/Q_20898421.html

det er vist ikke lige til
Avatar billede freegeg Nybegynder
31. maj 2004 - 21:39 #6
jeg vil lige paste det selv....




I'm sorry, cooloj123.

After reading my post to myself, I guess it does sound a little crass. I wasn't trying to be a jerk or imply that you should award me the points for your question. I only meant that you would need another program that would accept commands passed from PHP and that somehting like exec() would not work with /usr/bin/passwd.

I do have something that may help you. passwd is going to ask you to enter your old password, enter a new password, and then confirm the new password - impossible with a single exec() command. This will allow you to do it without confirming anything:

root@Server:~# echo "username:newpassword" | chpasswd

Only problem: you have to be root to run it, which means that you are going to have to configure sudo to allow the web server user to run it as root also.

If you have sudo installed on your server and your webserver's user is in /etc/sudoers something like this might work:

exec('/path/to/sudo echo "username:newpassword" | chpasswd');

By default sudo will ask for user authentication, which means you have the same problem you would have with passwd. You can configure sudo to allow the webserver to run commands without authentication. In my opinion, this could be a huge security risk if other users on the system knew about this. Although you can limit the programs available to this user in the /etc/sudoers file, something like passwd or chpasswd is a pretty big risk.

I do not have sudo installed so I have not tested or verified any of the above. I do hope it helps though.

reference:
http://www.courtesan.com/sudo/man/sudo.html
http://www.courtesan.com/sudo/man/sudoers.html#examples

P.S. This *might* be the right answer! :-)

[Source Experts Exchange LINK=http://www.experts-exchange.com/Web/Web_Languages/PHP/Q_20898421.html]
Avatar billede freegeg Nybegynder
31. maj 2004 - 21:40 #7
svaret kunne bruges... takker :)


point?
Avatar billede riversen Nybegynder
31. maj 2004 - 22:18 #8
ingen til mig
Avatar billede freegeg Nybegynder
28. august 2005 - 20:18 #9
luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester