From: Derrick Brashear Date: Tue, 27 Mar 2001 09:49:41 +0000 (+0000) Subject: add-pts-global-reader-support-20010327 X-Git-Tag: BP-openafs-devel-autoconf~13 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=57ee8d64e4142f4cac1c848ae451adc90a51eae9;p=packages%2Fo%2Fopenafs.git add-pts-global-reader-support-20010327 in the same way members of system:administrators have all pts powers, members of system:ptsviewers have all pts read powers by virtue of said membership --- diff --git a/src/ptserver/ptserver.h b/src/ptserver/ptserver.h index 0e5c59ceb..45e7f4688 100644 --- a/src/ptserver/ptserver.h +++ b/src/ptserver/ptserver.h @@ -20,6 +20,7 @@ #define PRBADID 0x80000000 +#define SYSVIEWERID -203 #define SYSADMINID -204 #define SYSBACKUPID -205 #define ANYUSERID -101 diff --git a/src/ptserver/ptutils.c b/src/ptserver/ptutils.c index bcaef4bb9..e4596d48a 100644 --- a/src/ptserver/ptutils.c +++ b/src/ptserver/ptutils.c @@ -167,6 +167,8 @@ int AccessOK (ut, cid, tentry, mem, any) } else if (aid < 0) { /* checking on group */ if ((flags & mem) && IsAMemberOf (ut, cid, aid)) return 1; } + /* Allow members of SYSVIEWERID to get membership and status only */ + if (((mem == PRP_STATUS_MEM)||(mem == PRP_MEMBER_MEM))&&(IsAMemberOf (ut, cid, SYSVIEWERID))) return 1; if (IsAMemberOf (ut, cid, SYSADMINID)) return 1; return 0; /* no access */ } @@ -1048,6 +1050,7 @@ afs_int32 Initdb() InitialGroup (SYSBACKUPID, "system:backup"); InitialGroup (ANYUSERID, "system:anyuser"); InitialGroup (AUTHUSERID, "system:authuser"); + InitialGroup (SYSVIEWERID, "system:ptsviewers"); InitialGroup (ANONYMOUSID, "anonymous"); /* Well, we don't really want the max id set to anonymousid, so we'll set