dosutils: add Novell-style REVOKE and REMOVE trustee tools
Implement REVOKE and REMOVE for the Client32 DOS utilities. REVOKE now supports Novell-style syntax: REVOKE rightslist* [FOR path] FROM [USER|GROUP] name [options] and removes rights from explicit trustee assignments. It scans the trustee list first, updates the trustee rights mask, and deletes the trustee entry when no rights remain. REMOVE now supports Novell-style syntax: REMOVE [USER | GROUP] name [FROM path] [option] and deletes explicit trustee assignments for users or groups. Both tools support USER/GROUP lookup, /FILES, /SUBDIRS, /SUBDIRECTORIES, wildcard file targets, recursive directory handling, Novell-style help text and summary output. Missing trustee entries are reported with Novell-style "No trustee for the specified ..." messages. Add shared trustee helpers and Client32 NCP87 trustee scan/delete support. Also adjust GRANT ALL so it matches Novell behavior by not granting Supervisor implicitly; Supervisor must be granted explicitly.
This commit is contained in:
9
grant.c
9
grant.c
@@ -16,10 +16,11 @@
|
||||
#define NCP_RIGHT_MODIFY 0x0080
|
||||
#define NCP_RIGHT_SUPER 0x0100
|
||||
|
||||
#define NCP_RIGHT_ALL_386 (NCP_RIGHT_SUPER | NCP_RIGHT_READ | \
|
||||
NCP_RIGHT_WRITE | NCP_RIGHT_CREATE | \
|
||||
NCP_RIGHT_DELETE | NCP_RIGHT_MODIFY | \
|
||||
NCP_RIGHT_SEARCH | NCP_RIGHT_OWNER)
|
||||
/* Novell GRANT ALL assigns all normal trustee rights, not Supervisor. */
|
||||
#define NCP_RIGHT_ALL_386 (NCP_RIGHT_READ | NCP_RIGHT_WRITE | \
|
||||
NCP_RIGHT_CREATE | NCP_RIGHT_DELETE | \
|
||||
NCP_RIGHT_MODIFY | NCP_RIGHT_SEARCH | \
|
||||
NCP_RIGHT_OWNER)
|
||||
|
||||
static int grant_same(char *a, char *b)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user