29 lines
430 B
C
29 lines
430 B
C
#include "common.h"
|
|
#include <auth.h>
|
|
#include <ndb.h>
|
|
|
|
/*
|
|
* become powerless user
|
|
*/
|
|
int
|
|
become(char **cmd, char *who)
|
|
{
|
|
int fd;
|
|
|
|
USED(cmd);
|
|
if(strcmp(who, "none") == 0) {
|
|
fd = open("#c/user", OWRITE);
|
|
if(fd < 0 || write(fd, "none", strlen("none")) < 0) {
|
|
werrstr("can't become none");
|
|
return -1;
|
|
}
|
|
close(fd);
|
|
if(newns("none", 0)) {
|
|
werrstr("can't set new namespace");
|
|
return -1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|