#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int fd;
if (argc < 2) {
printf
("usage : ./test_capuse userid1@userid2@randomstring & \n");
exit(-1);
}
fd = open("/dev/capuse", O_RDWR);
if (fd < 0)
perror("error opening the file");
int status;
status = write(fd, argv[1], strlen(argv[1]));
if (status < 0) {
perror("error writing to the file");
exit(-1);
}
printf("Capability successfully written to the /dev/capuse \n");
printf
("The user id of the process is now changed to the target user specified. Please do a 'ps -eaf | grep capuse' and verify. \n");
while (1)
sleep(1);
return 0;
}
|