diff options
Diffstat (limited to 'src/cmd/upas/common/become.c')
-rw-r--r-- | src/cmd/upas/common/become.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/cmd/upas/common/become.c b/src/cmd/upas/common/become.c new file mode 100644 index 00000000..1b5aa456 --- /dev/null +++ b/src/cmd/upas/common/become.c @@ -0,0 +1,28 @@ +#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); + // jpc if(newns("none", 0)) { + // jpc werrstr("can't set new namespace"); + // jpc return -1; + // jpc } + } + return 0; +} + |