iam.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 50 行

C
50
字号
#include <u.h>#include <libc.h>#include <authsrv.h>#include <ctype.h>#include "authcmdlib.h"voidmain(int argc, char **argv){	char user[ANAMELEN];	char p9pass[32];	char key[DESKEYLEN];	int fd;	ARGBEGIN{	}ARGEND;	switch(argc){	case 2:		strncpy(user, argv[0], ANAMELEN);		user[ANAMELEN-1] = 0;		passtokey(key, argv[1]);		break;	case 1:		strncpy(user, argv[0], ANAMELEN);		user[ANAMELEN-1] = 0;		getpass(key, p9pass, 0, 0);		break;	case 0:		strcpy(user, getuser());		getpass(key, p9pass, 0, 0);		break;	default:		fprint(2, "usage: auth/iam [user [password]]\n");		break; 	}	fd = open("/dev/key", OWRITE);	if(fd < 0)		sysfatal("open key");	write(fd, key, DESKEYLEN);	close(fd);	fd = open("/dev/hostowner", OWRITE);	if(fd < 0)		sysfatal("open hostowner");	write(fd, user, strlen(user));	close(fd);}

⌨️ 快捷键说明

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