⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auth_chuid.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <auth.h>/* *  become the authenticated user */intauth_chuid(AuthInfo *ai, char *ns){	int rv, fd;	if(ai == nil || ai->cap == nil){		werrstr("no capability");		return -1;	}	/* change uid */	fd = open("#¤/capuse", OWRITE);	if(fd < 0){		werrstr("opening #¤/capuse: %r");		return -1;	}	rv = write(fd, ai->cap, strlen(ai->cap));	close(fd);	if(rv < 0){		werrstr("writing %s to #¤/capuse: %r", ai->cap);		return -1;	}	/* get a link to factotum as new user */	fd = open("/srv/factotum", ORDWR);	if(fd >= 0)		mount(fd, -1, "/mnt", MREPL, "");	/* set up new namespace */	return newns(ai->cuid, ns);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -