ik heb dit half gepikt en aangepast:
en had dan het idee dat als je dit als root compileerde en vervolgens door een niet root user liet uitvoeren dat je dan passwd kon gebruiken...
helaas levert dit een"only root can do that" msg op als ordinairy user.
het idee was eigenlijk om php dit proggie te laten uitvoeren zodat users hun passwd via een webpage konden aanpassen.
iemand een idee hoe dit goed te doen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <stdlib.h>
#include </usr/include/sys/types.h>
#include </usr/include/sys/unistd.h>
int main(int argc, char* argv[]) {
setreuid(geteuid(),geteuid());
if (argc == 3) {
int returnvalue = -1;
char* buff = (char*) malloc(1000 * sizeof(char));
sprintf(buff, "passwd --stdin %s < %s", argv[1], argv[2]);
returnvalue = system(buff);
free( buff );
return returnvalue;
}
return -1;
} |
en had dan het idee dat als je dit als root compileerde en vervolgens door een niet root user liet uitvoeren dat je dan passwd kon gebruiken...
helaas levert dit een"only root can do that" msg op als ordinairy user.
het idee was eigenlijk om php dit proggie te laten uitvoeren zodat users hun passwd via een webpage konden aanpassen.
iemand een idee hoe dit goed te doen?
"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who