There are a few scripts available on net which allow you to change a linux user password from PHP. but all of them are very complex and hard to implement , so after some hours of work , I’ve written this PHP script it is very simple , in order for this to work you need to allow your webserver to run sed command as root through sudoers , or allow your webserver to write on your /etc/shadow file.
1 2 3 4 5 6 7 | $username = 'USERNAME' ; $password = 'PASSWORD' ; // New Password $sed = '/bin/sed' ; //Path to sed command $salt = substr ( $username , 0, 2); $pass_crypt = crypt( $password , $salt ); $pass_crypt = str_replace ( "/" , "\/" , $pass_crypt ); system( $sed . " -i 's/" . $username . ":[a-zA-z0-9/$\.]*/" . $username . ":" . $pass_crypt . "/g' /etc/shadow" , $retval ); |