Ik heb een php script waarmee een gebruiker zijn of haar wachtwoord kan wijzigen. Het nieuwe wachtwoord wordt hierbij opgeslagen in een MySQL database. Een ander .php script wordt aangeroepen via de crontab en lees vervolgens de database weer uit. (php als cgi geinstallerd).
Ik doe dit omdat de crontab root rechten heeft en dus commando's m.b.t. gebruikers kan uitvoeren.
Als ik nu een wachtwoord wijzig en via SSH het script aanroep dan gaat alles perfect en wordt het wachtwoord gewijzigd. Nu wordt het script om de 5 min uitgevoerd in de crontab en worden de wachtwoorden niet meer gewijzigd? Ik heb geen flauw idee waarom hij dit nu niet meer doet, ik heb de uitvoer al naar een bestand laten "printen" om te kijken of hier fouten in zaten, maar ik kan helaas niks vinden.
Ik weet zeker dat het script uitgevoerd wordt, want de de status van het record wordt ook van "change" op "ok" gezet via het script.
Wie heeft er een idee waarom bepaalde commando's niet worden uitgevoerd binnen dit php bestand. Hier onder een stuk code.
dus...
de crontab voert het script wel uit, iig de SQL queries maar het commando usermod weer niet? en dat is alleen via de crontab, als je het bestand zo aanspreekt wel.
Heeft dit iets met rechten te maken?
Ik doe dit omdat de crontab root rechten heeft en dus commando's m.b.t. gebruikers kan uitvoeren.
Als ik nu een wachtwoord wijzig en via SSH het script aanroep dan gaat alles perfect en wordt het wachtwoord gewijzigd. Nu wordt het script om de 5 min uitgevoerd in de crontab en worden de wachtwoorden niet meer gewijzigd? Ik heb geen flauw idee waarom hij dit nu niet meer doet, ik heb de uitvoer al naar een bestand laten "printen" om te kijken of hier fouten in zaten, maar ik kan helaas niks vinden.
Ik weet zeker dat het script uitgevoerd wordt, want de de status van het record wordt ook van "change" op "ok" gezet via het script.
Wie heeft er een idee waarom bepaalde commando's niet worden uitgevoerd binnen dit php bestand. Hier onder een stuk code.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| // script om ww te wijzigen (ff ingekort) $username = $row['LOGIN']; // gegevens uit DB $pass = $row['PASSWORD']; // gegevens uit DB $pass = crypt($pass); $pass = escapeshellarg($pass); $command = "ps -U ".$username." | gawk '\$1 != \"PID\" { printf \"kill -9 %s\\n\",\$1 }' | sh"; // kill if user is logged. system($command); $command = "usermod -p $pass $username"; system($command); |
dus...
de crontab voert het script wel uit, iig de SQL queries maar het commando usermod weer niet? en dat is alleen via de crontab, als je het bestand zo aanspreekt wel.
Heeft dit iets met rechten te maken?
edit:
Nu ik zo de regels en verzoeken (uit verveling) eens lees zie ik dat dit topic volgens mij beter naar Non windows Operating systems kan worden gemoved.
*** Batch en shell script topics ***
Nu ik zo de regels en verzoeken (uit verveling) eens lees zie ik dat dit topic volgens mij beter naar Non windows Operating systems kan worden gemoved.
*** Batch en shell script topics ***
[ Voor 22% gewijzigd door Verwijderd op 30-09-2003 20:32 ]