From fc5070c60057b6e02490e83f5d675786e8b8d83c Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 19 Dec 2020 17:46:55 +0100 Subject: libauth: add procsetuser() function to change user id of the calling process Provide a central function to change the user id of the calling process. This is mostly used by programs to become the none user, followed by a call to newns(). --- sys/src/libauth/procsetuser.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 sys/src/libauth/procsetuser.c (limited to 'sys/src/libauth/procsetuser.c') diff --git a/sys/src/libauth/procsetuser.c b/sys/src/libauth/procsetuser.c new file mode 100644 index 000000000..f9cac306b --- /dev/null +++ b/sys/src/libauth/procsetuser.c @@ -0,0 +1,20 @@ +#include +#include +#include + +int +procsetuser(char *user) +{ + int fd, n; + + fd = open("#c/user", OWRITE|OCEXEC); + if(fd < 0) + return -1; + n = strlen(user); + if(write(fd, user, n) != n){ + close(fd); + return -1; + } + close(fd); + return 0; +} -- cgit v1.2.3