noworld.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 46 行
C
46 行
#include <u.h>#include <libc.h>#include <bio.h>#include <auth.h>/* * see if user is in the group noworld, i.e., has all file * priviledges masked with 770, and all directories with * 771, before checking access rights */intnoworld(char *user){ Biobuf *b; char *p; int n; b = Bopen("/adm/users", OREAD); if(b == nil) return 0; while((p = Brdline(b, '\n')) != nil){ p[Blinelen(b)-1] = 0; p = strchr(p, ':'); if(p == nil) continue; if(strncmp(p, ":noworld:", 9) == 0){ p += 9; break; } } n = strlen(user); while(p != nil && *p != 0){ p = strstr(p, user); if(p == nil) break; if(*(p-1) == ':' || *(p-1) == ',') if(*(p+n) == ':' || *(p+n) == ',' || *(p+n) == 0){ Bterm(b); return 1; } p++; } Bterm(b); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?