dosutils: match Novell paths for flags and trustees
Move FLAG, GRANT and REMOVE closer to the request paths used by the Novell tools and extend the DOS comparison tests. FLAG now reads attributes through the old NCP22 directory scan path and writes them through NCP22/25 Set Directory/File Information. This keeps extended attributes such as Delete Inhibit and Rename Inhibit intact and matches the Novell behavior observed in the server logs. GRANT now prefers NCP22/27 SetTrustee with an NCP87 fallback. Supervisor rights are expanded like Novell does, so granting S sends and reports the full SRWCEMFA mask. The visible output, path formatting and error text are adjusted to match the Novell baseline. REMOVE now prefers NCP22/2B DelTrustee with an NCP87 fallback. The DelTrustee request layout is corrected, /SUBDIRS handling is aligned with Novell, and the output/error text is matched to the baseline. The FLAG, FLAGDIR, GRANT and REMOVE tests now compare NPUBLIC baselines against the PUBLIC implementations and add delayed NOPASSUSER readback checks using DLYSTRT and the maintainer LOGIN password option.
This commit is contained in:
@@ -10,6 +10,12 @@
|
||||
|
||||
option(MAINTAINER_BUILD "Enable maintainer-only DOS tool helpers and diagnostics" OFF)
|
||||
|
||||
if(DEFINED MARS_NWE_VERSION_BASE)
|
||||
set(MARS_DOSUTILS_VERSION "${MARS_NWE_VERSION_BASE}")
|
||||
else()
|
||||
set(MARS_DOSUTILS_VERSION "0.99")
|
||||
endif()
|
||||
|
||||
set(MARS_DOSUTILS_LEGACY_NET_EXE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/netold.exe"
|
||||
CACHE FILEPATH "Legacy/pre-Client32 DOS net.exe used by default for legacy command names"
|
||||
@@ -98,7 +104,7 @@ if(MARS_NWE_BUILD_DOSUTILS)
|
||||
set(obj "${CMAKE_CURRENT_BINARY_DIR}/${obj_name}.obj")
|
||||
list(APPEND DOSUTILS_OBJECTS "${obj}")
|
||||
|
||||
set(DOSUTILS_WCL_DEFS)
|
||||
set(DOSUTILS_WCL_DEFS -dMARS_DOSUTILS_VERSION=\"${MARS_DOSUTILS_VERSION}\")
|
||||
if(MAINTAINER_BUILD)
|
||||
list(APPEND DOSUTILS_WCL_DEFS -dMAINTAINER_BUILD)
|
||||
endif()
|
||||
|
||||
136
c32ncp.c
136
c32ncp.c
@@ -549,6 +549,12 @@ int c32_ncp87_modify_dos_attributes(char *name,
|
||||
memset(&info, 0, sizeof(info));
|
||||
info.attributes = attrs;
|
||||
|
||||
/*
|
||||
* NCP 87 modify DOS information uses DM_ATTRIBUTES (0x00000002).
|
||||
* RIM_ATTRIBUTES (0x00000004) is the read/obtain mask; using it here
|
||||
* leaves high attribute bits such as Delete/Rename Inhibit unchanged or
|
||||
* cleared on some servers/clients.
|
||||
*/
|
||||
return(c32_ncp87_modify_dos_info(name, dir_handle, 0x00000002UL,
|
||||
&info, actual_out,
|
||||
handle_lo_out, handle_hi_out));
|
||||
@@ -738,6 +744,136 @@ int c32_ncp87_get_effective_rights_by_dirent(uint8 vol_number,
|
||||
|
||||
|
||||
|
||||
|
||||
static int c32_build_ncp22_trustee_path(char *out, const char *path_name, int max)
|
||||
{
|
||||
char header[300];
|
||||
char *p;
|
||||
char *colon;
|
||||
|
||||
if (!out || max < 2)
|
||||
return(-1);
|
||||
|
||||
out[0] = '\0';
|
||||
|
||||
/* Build the same server/volume display path used by the DOS tools, then
|
||||
* strip the server component. NCP22/27 accepts a volume-qualified path
|
||||
* such as SYS:DIR\FILE with directory handle 0, matching Novell GRANT's
|
||||
* old trustee call as seen in the server trace. */
|
||||
tool_header_path(header, (char *)(path_name ? path_name : "."), sizeof(header));
|
||||
|
||||
colon = strchr(header, ':');
|
||||
if (!colon)
|
||||
return(-1);
|
||||
|
||||
p = header;
|
||||
while (*p && p < colon) {
|
||||
if (*p == '\\' || *p == '/') {
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
p++;
|
||||
}
|
||||
|
||||
if (!*p || p >= colon)
|
||||
p = header;
|
||||
|
||||
strmaxcpy(out, p, max - 1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int c32_ncp22_set_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id,
|
||||
uint16 rights)
|
||||
{
|
||||
struct {
|
||||
uint16 len;
|
||||
uint8 func;
|
||||
uint8 dirhandle;
|
||||
uint8 trustee_id[4];
|
||||
uint8 trustee_rights[2];
|
||||
uint8 pathlen;
|
||||
uint8 path[255];
|
||||
} req;
|
||||
struct { uint16 len; } repl;
|
||||
char ncppath[260];
|
||||
int pathlen;
|
||||
|
||||
(void)dir_handle;
|
||||
|
||||
if (c32_build_ncp22_trustee_path(ncppath, path_name, sizeof(ncppath)))
|
||||
return(30);
|
||||
|
||||
pathlen = strlen(ncppath);
|
||||
if (pathlen > 255)
|
||||
return(31);
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
memset(&repl, 0, sizeof(repl));
|
||||
|
||||
req.func = 0x27; /* NCP22/27 Add Ext Trustee */
|
||||
req.dirhandle = 0; /* volume-qualified path follows */
|
||||
c32_put_dword_hl(req.trustee_id, object_id);
|
||||
c32_put_word_lh(req.trustee_rights, rights);
|
||||
req.pathlen = (uint8)pathlen;
|
||||
memcpy(req.path, ncppath, pathlen);
|
||||
req.len = 9 + pathlen;
|
||||
|
||||
repl.len = 0;
|
||||
neterrno = Net_Call(0xE200, &req, &repl);
|
||||
if (neterrno)
|
||||
return(-neterrno);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
int c32_ncp22_delete_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id)
|
||||
{
|
||||
struct {
|
||||
uint16 len;
|
||||
uint8 func;
|
||||
uint8 dirhandle;
|
||||
uint8 trustee_id[4];
|
||||
uint8 reserved;
|
||||
uint8 pathlen;
|
||||
uint8 path[255];
|
||||
} req;
|
||||
struct { uint16 len; } repl;
|
||||
char ncppath[260];
|
||||
int pathlen;
|
||||
|
||||
(void)dir_handle;
|
||||
|
||||
if (c32_build_ncp22_trustee_path(ncppath, path_name, sizeof(ncppath)))
|
||||
return(30);
|
||||
|
||||
pathlen = strlen(ncppath);
|
||||
if (pathlen > 255)
|
||||
return(31);
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
memset(&repl, 0, sizeof(repl));
|
||||
|
||||
req.func = 0x2b; /* NCP22/43 Delete Trustee */
|
||||
req.dirhandle = 0; /* volume-qualified path follows */
|
||||
c32_put_dword_hl(req.trustee_id, object_id);
|
||||
req.reserved = 0; /* NCP22/2B has a reserved byte before pathlen */
|
||||
req.pathlen = (uint8)pathlen;
|
||||
memcpy(req.path, ncppath, pathlen);
|
||||
req.len = 8 + pathlen;
|
||||
|
||||
repl.len = 0;
|
||||
neterrno = Net_Call(0xE200, &req, &repl);
|
||||
if (neterrno)
|
||||
return(-neterrno);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
int c32_ncp87_add_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id,
|
||||
|
||||
9
c32ncp.h
9
c32ncp.h
@@ -104,6 +104,15 @@ int c32_ncp87_add_trustee_rights(const char *path_name,
|
||||
uint16 *handle_lo_out,
|
||||
uint16 *handle_hi_out);
|
||||
|
||||
int c32_ncp22_set_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id,
|
||||
uint16 rights);
|
||||
|
||||
int c32_ncp22_delete_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id);
|
||||
|
||||
int c32_ncp87_find_trustee_rights(const char *path_name,
|
||||
uint16 dir_handle,
|
||||
uint32 object_id,
|
||||
|
||||
272
flag.c
272
flag.c
@@ -18,6 +18,7 @@
|
||||
#define FLAG_NW_NS_DOS 0x00
|
||||
#define FLAG_SA_ALL 0x0006
|
||||
#define FLAG_RIM_ATTRIBUTES 0x00000004UL
|
||||
#define FLAG_DM_ATTRIBUTES 0x00000002UL
|
||||
|
||||
#define NWFA_RO 0x00000001UL
|
||||
#define NWFA_H 0x00000002UL
|
||||
@@ -134,6 +135,142 @@ static int flag_ncp87_obtain_attrs(char *name, uint32 *attrs)
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
static int flag_copy_ncp22_name(uint8 *dst, char *src, uint8 *len_out)
|
||||
{
|
||||
char tmp[260];
|
||||
int len;
|
||||
|
||||
if (!dst || !len_out)
|
||||
return(-1);
|
||||
if (!src)
|
||||
src = "";
|
||||
|
||||
tool_upcopy(tmp, src, sizeof(tmp));
|
||||
if (strchr(tmp, '\\') || strchr(tmp, '/') || strchr(tmp, ':'))
|
||||
return(-1);
|
||||
|
||||
len = strlen(tmp);
|
||||
if (len < 1 || len > 12)
|
||||
return(-1);
|
||||
|
||||
memcpy(dst, tmp, len);
|
||||
*len_out = (uint8)len;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
static int flag_ncp22_1e_obtain_attrs(char *name, uint32 *attrs)
|
||||
{
|
||||
struct {
|
||||
uint16 len;
|
||||
uint8 func;
|
||||
uint8 dirhandle;
|
||||
uint8 search_attributes;
|
||||
uint8 searchsequence[4];
|
||||
uint8 namlen;
|
||||
uint8 name[12];
|
||||
} req;
|
||||
struct {
|
||||
uint16 len;
|
||||
uint8 data[128];
|
||||
} repl;
|
||||
uint8 connid = 0;
|
||||
uint8 dhandle = 0;
|
||||
uint8 namlen = 0;
|
||||
|
||||
if (tool_current_dhandle(&connid, &dhandle))
|
||||
return(-1);
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
memset(&repl, 0, sizeof(repl));
|
||||
|
||||
if (flag_copy_ncp22_name(req.name, name, &namlen))
|
||||
return(-1);
|
||||
|
||||
req.func = 0x1e; /* Scan directory */
|
||||
req.dirhandle = dhandle;
|
||||
req.search_attributes = 0x06; /* hidden/system */
|
||||
U32_TO_BE32(0xffffffffUL, req.searchsequence);
|
||||
req.namlen = namlen;
|
||||
req.len = (uint16)(1 + 1 + 1 + 4 + 1 + namlen);
|
||||
repl.len = sizeof(repl.data);
|
||||
|
||||
neterrno = Net_Call(0xE200, &req, &repl);
|
||||
if (neterrno)
|
||||
return(-1);
|
||||
|
||||
/*
|
||||
* NCP22/30 Scan Directory returns:
|
||||
* dword searchsequence
|
||||
* dword subdir
|
||||
* dword attributes
|
||||
* ...
|
||||
*/
|
||||
if (attrs)
|
||||
*attrs = flag_get_dword_lh(repl.data + 8);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
static int flag_ncp22_25_modify_attrs(char *name, uint32 attrs)
|
||||
{
|
||||
struct {
|
||||
uint16 len;
|
||||
uint8 func;
|
||||
uint8 dirhandle;
|
||||
uint8 search_attributes;
|
||||
uint8 searchsequence[4];
|
||||
uint8 change_bits[4];
|
||||
uint8 subdir[4];
|
||||
uint8 attributes[4];
|
||||
uint8 uniqueid;
|
||||
uint8 flags;
|
||||
uint8 namespace;
|
||||
uint8 namlen;
|
||||
uint8 name[12];
|
||||
uint8 rest[104];
|
||||
} req;
|
||||
struct {
|
||||
uint16 len;
|
||||
} repl;
|
||||
uint8 connid = 0;
|
||||
uint8 dhandle = 0;
|
||||
|
||||
if (tool_current_dhandle(&connid, &dhandle))
|
||||
return(-1);
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
memset(&repl, 0, sizeof(repl));
|
||||
|
||||
req.func = 0x25; /* Set directory/file information */
|
||||
req.dirhandle = dhandle;
|
||||
req.search_attributes = 0x06; /* hidden/system */
|
||||
U32_TO_BE32(0xffffffffUL, req.searchsequence);
|
||||
U32_TO_32(FLAG_DM_ATTRIBUTES, req.change_bits);
|
||||
U32_TO_32(attrs, req.attributes);
|
||||
|
||||
if (flag_copy_ncp22_name(req.name, name, &req.namlen))
|
||||
return(-1);
|
||||
|
||||
req.len = sizeof(req) - sizeof(req.len);
|
||||
|
||||
neterrno = Net_Call(0xE200, &req, &repl);
|
||||
if (neterrno)
|
||||
return(-1);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
static int flag_obtain_attrs(char *name, uint32 *attrs)
|
||||
{
|
||||
if (!flag_ncp22_1e_obtain_attrs(name, attrs))
|
||||
return(0);
|
||||
|
||||
return(flag_ncp87_obtain_attrs(name, attrs));
|
||||
}
|
||||
|
||||
static int flag_ncp87_modify_attrs(char *name, uint32 attrs)
|
||||
{
|
||||
struct {
|
||||
@@ -174,7 +311,7 @@ static int flag_ncp87_modify_attrs(char *name, uint32 attrs)
|
||||
*p++ = 0; /* reserved */
|
||||
flag_put_word_lh(p, FLAG_SA_ALL); p += 2;
|
||||
|
||||
flag_put_dword_lh(p, FLAG_RIM_ATTRIBUTES); p += 4; /* modify mask */
|
||||
flag_put_dword_lh(p, FLAG_DM_ATTRIBUTES); p += 4; /* modify mask: DM_ATTRIBUTES */
|
||||
flag_put_dword_lh(p, attrs); p += 4; /* Attributes */
|
||||
|
||||
/*
|
||||
@@ -342,7 +479,7 @@ static void flag_display_one(char *name, uint32 attr)
|
||||
{
|
||||
fprintf(stdout, " %-23s ", name);
|
||||
flag_print_attrs(attr);
|
||||
fprintf(stdout, "\n");
|
||||
fprintf(stdout, " \n");
|
||||
}
|
||||
|
||||
static void flag_display_one_paged(char *name, uint32 attr,
|
||||
@@ -353,6 +490,93 @@ static void flag_display_one_paged(char *name, uint32 attr,
|
||||
}
|
||||
|
||||
|
||||
static char *flag_last_sep(char *s)
|
||||
{
|
||||
char *last = NULL;
|
||||
char *p;
|
||||
|
||||
for (p = s; *p; p++) {
|
||||
if (*p == '\\' || *p == '/' || *p == ':')
|
||||
last = p;
|
||||
}
|
||||
|
||||
return(last);
|
||||
}
|
||||
|
||||
static void flag_split_pattern(char *pattern, char *parent, int parent_size,
|
||||
char *leaf, int leaf_size)
|
||||
{
|
||||
char temp[260];
|
||||
char *sep;
|
||||
int plen;
|
||||
|
||||
parent[0] = '\0';
|
||||
leaf[0] = '\0';
|
||||
|
||||
strmaxcpy(temp, pattern, sizeof(temp) - 1);
|
||||
sep = flag_last_sep(temp);
|
||||
|
||||
if (!sep) {
|
||||
strmaxcpy(leaf, temp, leaf_size - 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (*(sep + 1)) {
|
||||
strmaxcpy(leaf, sep + 1, leaf_size - 1);
|
||||
} else {
|
||||
strmaxcpy(leaf, "*.*", leaf_size - 1);
|
||||
}
|
||||
|
||||
plen = (int)(sep - temp);
|
||||
|
||||
/*
|
||||
* Keep drive-root paths as "F:\" rather than "F:".
|
||||
*/
|
||||
if (*sep == ':' && (*(sep + 1) == '\\' || *(sep + 1) == '/'))
|
||||
plen += 2;
|
||||
else if (*sep == ':' || *sep == '\\' || *sep == '/')
|
||||
plen += 1;
|
||||
|
||||
if (plen >= parent_size)
|
||||
plen = parent_size - 1;
|
||||
|
||||
memcpy(parent, temp, plen);
|
||||
parent[plen] = '\0';
|
||||
}
|
||||
|
||||
static int flag_enter_parent(char *pattern, char *leaf, int leaf_size,
|
||||
char *oldcwd, int oldcwd_size)
|
||||
{
|
||||
char parent[260];
|
||||
|
||||
oldcwd[0] = '\0';
|
||||
flag_split_pattern(pattern, parent, sizeof(parent), leaf, leaf_size);
|
||||
|
||||
if (!leaf[0])
|
||||
strmaxcpy(leaf, "*.*", leaf_size - 1);
|
||||
|
||||
if (!parent[0])
|
||||
return(0);
|
||||
|
||||
if (!getcwd(oldcwd, oldcwd_size))
|
||||
oldcwd[0] = '\0';
|
||||
|
||||
if (chdir(parent)) {
|
||||
if (oldcwd[0])
|
||||
chdir(oldcwd);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
static void flag_leave_parent(char *oldcwd)
|
||||
{
|
||||
if (oldcwd[0])
|
||||
chdir(oldcwd);
|
||||
}
|
||||
|
||||
|
||||
static int flag_list(char *pattern)
|
||||
{
|
||||
struct find_t ff;
|
||||
@@ -368,7 +592,7 @@ static int flag_list(char *pattern)
|
||||
if (!(ff.attrib & _A_SUBDIR)) {
|
||||
uint32 nwattrs;
|
||||
|
||||
if (flag_ncp87_obtain_attrs(ff.name, &nwattrs))
|
||||
if (flag_obtain_attrs(ff.name, &nwattrs))
|
||||
nwattrs = (uint32)ff.attrib;
|
||||
|
||||
flag_display_one_paged(ff.name, nwattrs, &line_count, &continuous);
|
||||
@@ -397,22 +621,23 @@ static int flag_apply(char *pattern, uint32 setbits, uint32 clearbits)
|
||||
|
||||
strmaxcpy(fname, ff.name, sizeof(fname) - 1);
|
||||
|
||||
if (flag_ncp87_obtain_attrs(fname, &attrs))
|
||||
if (flag_obtain_attrs(fname, &attrs))
|
||||
attrs = (uint32)ff.attrib;
|
||||
|
||||
newattrs = (attrs | (uint32)setbits) & ~((uint32)clearbits);
|
||||
|
||||
if (newattrs != attrs) {
|
||||
if (flag_ncp87_modify_attrs(fname, newattrs)) {
|
||||
if (flag_ncp22_25_modify_attrs(fname, newattrs) &&
|
||||
flag_ncp87_modify_attrs(fname, newattrs)) {
|
||||
unsigned dosattr = (newattrs & (_A_RDONLY|_A_HIDDEN|_A_SYSTEM|_A_ARCH));
|
||||
if (_dos_setfileattr(fname, dosattr)) {
|
||||
fprintf(stderr, "You don't have rights to change : %s\n", fname);
|
||||
fprintf(stdout, "You don't have rights to change : %s\n", fname);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (flag_ncp87_obtain_attrs(fname, &attrs))
|
||||
if (flag_obtain_attrs(fname, &attrs))
|
||||
attrs = newattrs;
|
||||
|
||||
flag_display_one(fname, newattrs);
|
||||
@@ -454,20 +679,33 @@ int func_flag(int argc, char *argv[], int mode)
|
||||
have_change = 1;
|
||||
}
|
||||
|
||||
if (have_change) {
|
||||
rc = flag_apply(path, setbits, clearbits);
|
||||
if (rc < 0) {
|
||||
fprintf(stderr, "Files could not be found with pattern \"%s\"\n", path);
|
||||
{
|
||||
char leaf[260];
|
||||
char oldcwd[260];
|
||||
|
||||
if (flag_enter_parent(path, leaf, sizeof(leaf), oldcwd, sizeof(oldcwd))) {
|
||||
flag_split_pattern(path, oldcwd, sizeof(oldcwd), leaf, sizeof(leaf));
|
||||
fprintf(stdout, "Files could not be found with pattern \"%s\"\a", leaf);
|
||||
return(1);
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
||||
if (have_change) {
|
||||
rc = flag_apply(leaf, setbits, clearbits);
|
||||
flag_leave_parent(oldcwd);
|
||||
if (rc < 0) {
|
||||
fprintf(stdout, "Files could not be found with pattern \"%s\"\a", leaf);
|
||||
return(1);
|
||||
}
|
||||
|
||||
rc = flag_list(path);
|
||||
if (rc < 0) {
|
||||
fprintf(stderr, "Files could not be found with pattern \"%s\"\n", path);
|
||||
return(1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
rc = flag_list(leaf);
|
||||
flag_leave_parent(oldcwd);
|
||||
if (rc < 0) {
|
||||
fprintf(stdout, "Files could not be found with pattern \"%s\"\a", leaf);
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
|
||||
return(0);
|
||||
|
||||
140
grant.c
140
grant.c
@@ -27,10 +27,24 @@ static void grant_usage_error(void)
|
||||
fprintf(stdout, "Command line arguments violate grammar defined for GRANT.\n\n");
|
||||
}
|
||||
|
||||
static void grant_usage(void)
|
||||
static void grant_invalid_right_error(void)
|
||||
{
|
||||
fprintf(stdout, "Specified rights unreadable or invalid. Spaces required between each right.\n\n");
|
||||
}
|
||||
|
||||
static void grant_usage_ex(int leading_blanks, int bell_after_options,
|
||||
int trailing_blanks)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < leading_blanks; i++)
|
||||
fprintf(stdout, "\n");
|
||||
|
||||
fprintf(stdout, "Usage: GRANT rightslist* [FOR path] TO [USER | GROUP] name [options]\n");
|
||||
fprintf(stdout, "Options: /SubDirectories | /Files\n\n");
|
||||
fprintf(stdout, "Options: /SubDirectories | /Files\n");
|
||||
if (bell_after_options)
|
||||
fprintf(stdout, "\a");
|
||||
fprintf(stdout, "\n");
|
||||
fprintf(stdout, "386 Rights:\n");
|
||||
fprintf(stdout, "--------------------\n");
|
||||
fprintf(stdout, "ALL = All\n");
|
||||
@@ -43,10 +57,46 @@ static void grant_usage(void)
|
||||
fprintf(stdout, "M = Modify\n");
|
||||
fprintf(stdout, "F = File Scan\n");
|
||||
fprintf(stdout, "A = Access Control\n");
|
||||
|
||||
for (i = 0; i < trailing_blanks; i++)
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
|
||||
static void grant_usage(void)
|
||||
{
|
||||
grant_usage_ex(0, 0, 0);
|
||||
}
|
||||
|
||||
static void grant_usage_help(void)
|
||||
{
|
||||
grant_usage_ex(2, 0, 1);
|
||||
}
|
||||
|
||||
static void grant_usage_after_error(void)
|
||||
{
|
||||
grant_usage_ex(0, 1, 2);
|
||||
}
|
||||
|
||||
static void grant_header_path(char *out, char *path, int max)
|
||||
{
|
||||
char *p;
|
||||
|
||||
tool_header_path(out, path, max);
|
||||
|
||||
/* Novell GRANT displays server and volume as SERVER/SYS: while
|
||||
* RIGHTS uses SERVER\SYS:. Keep the rest of the path with DOS
|
||||
* backslashes. */
|
||||
p = strchr(out, '\\');
|
||||
if (p && strchr(out, ':') && p < strchr(out, ':'))
|
||||
*p = '/';
|
||||
}
|
||||
|
||||
static void grant_rights_bracket(uint16 rights, char *out)
|
||||
{
|
||||
/* Novell displays Supervisor as the full effective right mask. */
|
||||
if (rights & NCP_RIGHT_SUPER)
|
||||
rights |= NCP_RIGHT_ALL_386;
|
||||
|
||||
out[0] = (rights & NCP_RIGHT_SUPER) ? 'S' : ' ';
|
||||
out[1] = (rights & NCP_RIGHT_READ) ? 'R' : ' ';
|
||||
out[2] = (rights & NCP_RIGHT_WRITE) ? 'W' : ' ';
|
||||
@@ -59,6 +109,17 @@ static void grant_rights_bracket(uint16 rights, char *out)
|
||||
}
|
||||
|
||||
|
||||
static uint16 grant_expand_supervisor_rights(uint16 rights)
|
||||
{
|
||||
/* Novell GRANT expands Supervisor to the full trustee mask before
|
||||
* storing it. This keeps the wire value and the printed result in
|
||||
* sync with Novell: GRANT S reports and sends [SRWCEMFA], not just
|
||||
* [S ]. */
|
||||
if (rights & NCP_RIGHT_SUPER)
|
||||
rights |= NCP_RIGHT_ALL_386;
|
||||
return(rights);
|
||||
}
|
||||
|
||||
static void grant_rights_string(uint16 rights, char *out)
|
||||
{
|
||||
char *p = out;
|
||||
@@ -148,12 +209,19 @@ static int grant_set_one(char *path, uint16 dhandle,
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = c32_ncp87_add_trustee_rights(path,
|
||||
dhandle,
|
||||
object_id,
|
||||
rights,
|
||||
0xffff,
|
||||
NULL, NULL, NULL);
|
||||
/* Novell GRANT uses the old NCP22/27 SetTrustee path. Prefer that
|
||||
* path and keep the NCP87 add-trustee call only as a compatibility
|
||||
* fallback for clients/servers that do not accept the old call. */
|
||||
rc = c32_ncp22_set_trustee_rights(path, dhandle, object_id, rights);
|
||||
if (rc) {
|
||||
rc = c32_ncp87_add_trustee_rights(path,
|
||||
dhandle,
|
||||
object_id,
|
||||
rights,
|
||||
0xffff,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
grant_last_rc = rc;
|
||||
return(rc);
|
||||
}
|
||||
@@ -210,10 +278,14 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
(void)mode;
|
||||
|
||||
if (argc < 2 || tool_is_help_arg(argv[1])) {
|
||||
if (argc < 2)
|
||||
if (argc < 2) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
return(argc < 2 ? 1 : 0);
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
grant_usage_help();
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -227,8 +299,9 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
break;
|
||||
|
||||
if (grant_add_right_word(argv[i], &rights)) {
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
fprintf(stdout, "\n");
|
||||
grant_invalid_right_error();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
have_rights = 1;
|
||||
@@ -236,24 +309,27 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
}
|
||||
|
||||
if (!have_rights || i >= argc) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
if (tool_strsame(argv[i], "FOR")) {
|
||||
i++;
|
||||
if (i >= argc) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
path = argv[i++];
|
||||
}
|
||||
|
||||
if (i >= argc || !tool_strsame(argv[i], "TO")) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
i++;
|
||||
@@ -267,8 +343,9 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
}
|
||||
|
||||
if (i >= argc) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -276,8 +353,9 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
|
||||
while (i < argc) {
|
||||
if (!tool_is_option(argv[i])) {
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -300,11 +378,14 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
continue;
|
||||
}
|
||||
|
||||
fprintf(stdout, "\n");
|
||||
grant_usage_error();
|
||||
grant_usage();
|
||||
grant_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
rights = grant_expand_supervisor_rights(rights);
|
||||
|
||||
if (tool_current_dhandle(&connid, &dhandle)) {
|
||||
fprintf(stdout, "Specified path not locatable.\n");
|
||||
return(1);
|
||||
@@ -314,7 +395,14 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
upstr(namebuf);
|
||||
object_id = ncp_17_35(namebuf, objtype);
|
||||
if (!object_id) {
|
||||
fprintf(stdout, "Object not found.\n");
|
||||
char header[300];
|
||||
|
||||
grant_header_path(header, path, sizeof(header));
|
||||
fprintf(stdout, "\n%s\n", header);
|
||||
if (objtype == GRANT_BINDERY_GROUP)
|
||||
fprintf(stdout, "\aGroup \"%s\" not found.\n", objname);
|
||||
else
|
||||
fprintf(stdout, "\aUser \"%s\" not found.\n", objname);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -324,7 +412,11 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
rc = grant_set_one(path, (uint16)dhandle, object_id, rights);
|
||||
|
||||
if (rc) {
|
||||
fprintf(stdout, "Could not add trustee rights. rc=%d\n", grant_last_rc);
|
||||
char header[300];
|
||||
|
||||
grant_header_path(header, path, sizeof(header));
|
||||
fprintf(stdout, "\n%s\n", header);
|
||||
fprintf(stdout, "Invalid path or no match for pattern specified.\n\n");
|
||||
return(grant_last_rc ? grant_last_rc : 1);
|
||||
}
|
||||
|
||||
@@ -333,12 +425,12 @@ int func_grant(int argc, char *argv[], int mode)
|
||||
char base[80];
|
||||
char bracket[10];
|
||||
|
||||
tool_header_path(header, path, sizeof(header));
|
||||
grant_header_path(header, path, sizeof(header));
|
||||
tool_basename(base, path, sizeof(base));
|
||||
grant_rights_bracket(rights, bracket);
|
||||
|
||||
fprintf(stdout, "%s\n", header);
|
||||
fprintf(stdout, "%-29.29sRights set to [%s]\n", base, bracket);
|
||||
fprintf(stdout, "\n%s\n", header);
|
||||
fprintf(stdout, "%-33.33sRights set to [%s]\n\n", base, bracket);
|
||||
}
|
||||
|
||||
return(0);
|
||||
|
||||
125
remove.c
125
remove.c
@@ -12,15 +12,33 @@
|
||||
|
||||
static int remove_last_rc = 0;
|
||||
|
||||
static void remove_usage_error(void)
|
||||
{
|
||||
fprintf(stdout, "Command line arguments violate grammar defined for REMOVE.\n\n");
|
||||
}
|
||||
|
||||
static void remove_usage(void)
|
||||
{
|
||||
fprintf(stdout, "\n");
|
||||
fprintf(stdout, "Usage: REMOVE [USER | GROUP] name [FROM path] [option]\n");
|
||||
fprintf(stdout, "Options: /Subdirs | /Files\n");
|
||||
fprintf(stdout, "Options: /Subdirs | /Files \n");
|
||||
}
|
||||
|
||||
static void remove_usage_after_error(void)
|
||||
{
|
||||
fprintf(stdout, "\007\n");
|
||||
fprintf(stdout, "Usage: REMOVE [USER | GROUP] name [FROM path] [option]\n");
|
||||
fprintf(stdout, "Options: /Subdirs | /Files \n");
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
|
||||
static void remove_header_path(char *out, char *path, int max)
|
||||
{
|
||||
char *p;
|
||||
|
||||
trustee_header_path(out, path, max);
|
||||
|
||||
/* Novell REMOVE displays server and volume as SERVER/SYS: while
|
||||
* RIGHTS uses SERVER\SYS:. Keep the rest of the path with DOS
|
||||
* backslashes. */
|
||||
p = strchr(out, '\\');
|
||||
if (p && strchr(out, ':') && p < strchr(out, ':'))
|
||||
*p = '/';
|
||||
}
|
||||
|
||||
static int remove_one(char *path, uint16 dhandle, uint32 object_id,
|
||||
@@ -30,7 +48,9 @@ static int remove_one(char *path, uint16 dhandle, uint32 object_id,
|
||||
int is_dir;
|
||||
int rc;
|
||||
|
||||
is_dir = forced_is_file ? 0 : trustee_path_is_dir(path);
|
||||
/* Without /FILES, Novell REMOVE reports directory-oriented messages even
|
||||
* if the specified path cannot be located. */
|
||||
is_dir = forced_is_file ? 0 : 1;
|
||||
|
||||
rc = c32_ncp87_find_trustee_rights(path, dhandle, object_id, &old_rights,
|
||||
NULL, NULL, NULL);
|
||||
@@ -43,8 +63,10 @@ static int remove_one(char *path, uint16 dhandle, uint32 object_id,
|
||||
return(1);
|
||||
}
|
||||
|
||||
rc = c32_ncp87_delete_trustee_rights(path, dhandle, object_id,
|
||||
NULL, NULL, NULL);
|
||||
rc = c32_ncp22_delete_trustee_rights(path, dhandle, object_id);
|
||||
if (rc)
|
||||
rc = c32_ncp87_delete_trustee_rights(path, dhandle, object_id,
|
||||
NULL, NULL, NULL);
|
||||
remove_last_rc = rc;
|
||||
if (rc) {
|
||||
fprintf(stdout, "Error deleting trustee.\n");
|
||||
@@ -53,32 +75,35 @@ static int remove_one(char *path, uint16 dhandle, uint32 object_id,
|
||||
|
||||
{
|
||||
char header[300];
|
||||
trustee_header_path(header, path, sizeof(header));
|
||||
fprintf(stdout, "%s\n\n", header);
|
||||
remove_header_path(header, path, sizeof(header));
|
||||
fprintf(stdout, "%s\n", header);
|
||||
}
|
||||
|
||||
if (objtype == TRUSTEE_BINDERY_GROUP)
|
||||
fprintf(stdout, "Group \"%s\" no longer a trustee to the specified %s.\n",
|
||||
fprintf(stdout, "Group \"%s\" no longer a trustee to the specified %s.\n\n",
|
||||
objname, is_dir ? "directory" : "file");
|
||||
else
|
||||
fprintf(stdout, "User \"%s\" no longer a trustee to the specified %s.\n",
|
||||
fprintf(stdout, "User \"%s\" no longer a trustee to the specified %s.\n\n",
|
||||
objname, is_dir ? "directory" : "file");
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
static int remove_subdirs(char *path, uint16 dhandle, uint32 object_id,
|
||||
uint16 objtype, char *objname, int *count)
|
||||
static int remove_subdirs_inner(char *path, uint16 dhandle, uint32 object_id,
|
||||
uint16 objtype, char *objname, int *count,
|
||||
int include_this)
|
||||
{
|
||||
struct find_t ff;
|
||||
char pattern[260];
|
||||
char child[260];
|
||||
int rc = 0;
|
||||
|
||||
if (remove_one(path, dhandle, object_id, objtype, objname, 0) == 0)
|
||||
(*count)++;
|
||||
else
|
||||
rc = 1;
|
||||
if (include_this) {
|
||||
if (remove_one(path, dhandle, object_id, objtype, objname, 0) == 0)
|
||||
(*count)++;
|
||||
else
|
||||
rc = 1;
|
||||
}
|
||||
|
||||
trustee_join_path(pattern, path, "*.*", sizeof(pattern));
|
||||
|
||||
@@ -86,7 +111,8 @@ static int remove_subdirs(char *path, uint16 dhandle, uint32 object_id,
|
||||
do {
|
||||
if ((ff.attrib & _A_SUBDIR) && !trustee_is_dot_dir(ff.name)) {
|
||||
trustee_join_path(child, path, ff.name, sizeof(child));
|
||||
if (remove_subdirs(child, dhandle, object_id, objtype, objname, count))
|
||||
if (remove_subdirs_inner(child, dhandle, object_id, objtype, objname,
|
||||
count, 1))
|
||||
rc = 1;
|
||||
}
|
||||
} while (_dos_findnext(&ff) == 0);
|
||||
@@ -95,6 +121,15 @@ static int remove_subdirs(char *path, uint16 dhandle, uint32 object_id,
|
||||
return(rc);
|
||||
}
|
||||
|
||||
static int remove_subdirs(char *path, uint16 dhandle, uint32 object_id,
|
||||
uint16 objtype, char *objname, int *count)
|
||||
{
|
||||
/* Novell REMOVE /SUBDIRS affects the subdirectories under the specified
|
||||
* start directory, not the start directory itself. */
|
||||
return(remove_subdirs_inner(path, dhandle, object_id, objtype, objname,
|
||||
count, 0));
|
||||
}
|
||||
|
||||
static int remove_files(char *path, uint16 dhandle, uint32 object_id,
|
||||
uint16 objtype, char *objname, int *count)
|
||||
{
|
||||
@@ -153,25 +188,36 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
(void)mode;
|
||||
|
||||
if (argc < 2 || trustee_is_help(argv[1])) {
|
||||
if (argc < 2)
|
||||
remove_usage_error();
|
||||
if (argc < 2) {
|
||||
remove_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
remove_usage();
|
||||
return(argc < 2 ? 1 : 0);
|
||||
}
|
||||
|
||||
if (i < argc && trustee_same(argv[i], "USER")) {
|
||||
objtype = TRUSTEE_BINDERY_USER;
|
||||
objtype_given = 1;
|
||||
i++;
|
||||
/* Novell treats "REMOVE USER FROM path" as an object lookup for
|
||||
* USER, not as a grammar error. */
|
||||
if ((i + 1) < argc && trustee_same(argv[i + 1], "FROM")) {
|
||||
objtype_given = 0;
|
||||
} else {
|
||||
objtype = TRUSTEE_BINDERY_USER;
|
||||
objtype_given = 1;
|
||||
i++;
|
||||
}
|
||||
} else if (i < argc && trustee_same(argv[i], "GROUP")) {
|
||||
objtype = TRUSTEE_BINDERY_GROUP;
|
||||
objtype_given = 1;
|
||||
i++;
|
||||
if ((i + 1) < argc && trustee_same(argv[i + 1], "FROM")) {
|
||||
objtype_given = 0;
|
||||
} else {
|
||||
objtype = TRUSTEE_BINDERY_GROUP;
|
||||
objtype_given = 1;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if (i >= argc) {
|
||||
remove_usage_error();
|
||||
remove_usage();
|
||||
remove_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -180,8 +226,7 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
if (i < argc && trustee_same(argv[i], "FROM")) {
|
||||
i++;
|
||||
if (i >= argc) {
|
||||
remove_usage_error();
|
||||
remove_usage();
|
||||
remove_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
path = argv[i++];
|
||||
@@ -189,8 +234,7 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
|
||||
while (i < argc) {
|
||||
if (!trustee_is_option(argv[i])) {
|
||||
remove_usage_error();
|
||||
remove_usage();
|
||||
remove_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -206,8 +250,7 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
continue;
|
||||
}
|
||||
|
||||
remove_usage_error();
|
||||
remove_usage();
|
||||
remove_usage_after_error();
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -224,11 +267,11 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
object_id = trustee_lookup_object(objname, &objtype, objtype_given);
|
||||
if (!object_id) {
|
||||
if (objtype_given && objtype == TRUSTEE_BINDERY_GROUP)
|
||||
fprintf(stdout, "Group \"%s\" not found.\n", objname);
|
||||
fprintf(stdout, "\007Group \"%s\" not found.\n", objname);
|
||||
else if (objtype_given)
|
||||
fprintf(stdout, "User \"%s\" not found.\n", objname);
|
||||
fprintf(stdout, "\007User \"%s\" not found.\n", objname);
|
||||
else
|
||||
fprintf(stdout, "User or group \"%s\" not found.\n", objname);
|
||||
fprintf(stdout, "\007User or group \"%s\" not found.\n", objname);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -245,9 +288,9 @@ int func_remove(int argc, char *argv[], int mode)
|
||||
}
|
||||
|
||||
if (use_subdirs || (!use_files && !rc))
|
||||
fprintf(stdout, "Trustee \"%s\" removed from %d directories.\n", objprint, count);
|
||||
fprintf(stdout, "Trustee \"%s\" removed from %d directories.\n\n", objprint, count);
|
||||
else if (use_files)
|
||||
fprintf(stdout, "Trustee \"%s\" removed from %d files.\n", objprint, count);
|
||||
fprintf(stdout, "Trustee \"%s\" removed from %d files.\n\n", objprint, count);
|
||||
|
||||
return(rc ? (remove_last_rc ? remove_last_rc : 1) : 0);
|
||||
}
|
||||
|
||||
101
test/flag/FLGC.BAT
Normal file
101
test/flag/FLGC.BAT
Normal file
@@ -0,0 +1,101 @@
|
||||
@ECHO OFF
|
||||
REM FLGC.BAT - helper for FLGTSTA user-context FLAG tests.
|
||||
C:
|
||||
CD \FLGTMP
|
||||
ECHO FLGC helper started. > C:\FLGTMP\HELPER.TXT
|
||||
ECHO Running FLAG as NOPASSUSER, then relogging SUPERVISOR. >> C:\FLGTMP\HELPER.TXT
|
||||
|
||||
LOGOUT > C:\FLGTMP\D00_LOG.OUT
|
||||
LOGIN NOPASSUSER > C:\FLGTMP\D01_LGIN.OUT
|
||||
F:
|
||||
CD \
|
||||
|
||||
ECHO Starting U10 read...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT > C:\FLGTMP\UNOV\U10_READ.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT > C:\FLGTMP\UPUB\U10_READ.OUT
|
||||
|
||||
ECHO Starting U11 N...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > C:\FLGTMP\UNOV\U11_N.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > C:\FLGTMP\UPUB\U11_N.OUT
|
||||
|
||||
ECHO Starting U12 H...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > C:\FLGTMP\UNOV\U12_H.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UNOV\U12_H.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > C:\FLGTMP\UPUB\U12_H.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UPUB\U12_H.OUT
|
||||
|
||||
ECHO Starting U13 RO...
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO > C:\FLGTMP\UNOV\U13_RO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> C:\FLGTMP\UNOV\U13_RO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO > C:\FLGTMP\UPUB\U13_RO.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\BETA.TXT >> C:\FLGTMP\UPUB\U13_RO.OUT
|
||||
|
||||
ECHO Starting U14 A...
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A > C:\FLGTMP\UNOV\U14_A.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> C:\FLGTMP\UNOV\U14_A.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A > C:\FLGTMP\UPUB\U14_A.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> C:\FLGTMP\UPUB\U14_A.OUT
|
||||
|
||||
ECHO Starting U15 SY...
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN +SY > C:\FLGTMP\UNOV\U15_SY.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> C:\FLGTMP\UNOV\U15_SY.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\DELTA.BIN +SY > C:\FLGTMP\UPUB\U15_SY.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> C:\FLGTMP\UPUB\U15_SY.OUT
|
||||
|
||||
ECHO Starting U16 DI RI...
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI > C:\FLGTMP\UNOV\U16_DIRI.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> C:\FLGTMP\UNOV\U16_DIRI.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI > C:\FLGTMP\UPUB\U16_DIRI.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\EPS.TXT >> C:\FLGTMP\UPUB\U16_DIRI.OUT
|
||||
|
||||
ECHO Starting U17 mixed...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > C:\FLGTMP\UNOV\U17_MIX.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UNOV\U17_MIX.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > C:\FLGTMP\UPUB\U17_MIX.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UPUB\U17_MIX.OUT
|
||||
|
||||
ECHO Starting U18 clear...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H -RO -A > C:\FLGTMP\UNOV\U18_CLR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UNOV\U18_CLR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H -RO -A > C:\FLGTMP\UPUB\U18_CLR.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> C:\FLGTMP\UPUB\U18_CLR.OUT
|
||||
|
||||
ECHO Starting U90 missing...
|
||||
NPUBLIC\FLAG F:\FLGTEST\NOFILE.TXT > C:\FLGTMP\UNOV\U90_MISS.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\NOFILE.TXT > C:\FLGTMP\UPUB\U90_MISS.OUT
|
||||
|
||||
LOGOUT > C:\FLGTMP\D02_LGOT.OUT
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOGIN
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\FLGTMP\HELPER.TXT
|
||||
GOTO END
|
||||
:HAVELOGIN
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\FLGTMP\D03_LGSU.OUT
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \FLGTSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or FLGTSTA missing. >> C:\FLGTMP\HELPER.TXT
|
||||
GOTO END
|
||||
:QUEUEP2
|
||||
C:
|
||||
CD \FLGTMP
|
||||
DLYSTRT /T:2 F:\FLGTSTA.BAT PART2 > C:\FLGTMP\D04_P2.OUT
|
||||
:END
|
||||
@@ -1,55 +1,55 @@
|
||||
@ECHO OFF
|
||||
REM FLGTSTA.BAT
|
||||
REM Automated Novell FLAG baseline for MARS NWE.
|
||||
REM FLAG compare test.
|
||||
REM
|
||||
REM Run while already logged in and with F: mapped to SYS.
|
||||
REM Direct part:
|
||||
REM OUT = Novell baseline using \NPUBLIC\FLAG
|
||||
REM PUBOUT = our implementation using \PUBLIC\FLAG
|
||||
REM
|
||||
REM Test tree:
|
||||
REM F:\FLGTEST
|
||||
REM Result tree:
|
||||
REM F:\FLGCMP
|
||||
REM User-context part:
|
||||
REM NOPASSUSER logs in via DLYSTRT helper and runs the same effective tests.
|
||||
REM UNOV = Novell FLAG as NOPASSUSER
|
||||
REM UPUB = Public FLAG as NOPASSUSER
|
||||
REM
|
||||
REM Scope:
|
||||
REM FLAG on files only.
|
||||
REM For the automatic NOPASSUSER block set:
|
||||
REM SET LGNTPWD=your-supervisor-password
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: FLGTSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST FLGTEST\NUL DELTREE /Y FLGTEST\*.*
|
||||
IF EXIST FLGCMP\NUL DELTREE /Y FLGCMP\*.*
|
||||
IF EXIST FLGTMP\NUL DELTREE /Y FLGTMP\*.*
|
||||
|
||||
IF NOT EXIST FLGTEST\NUL MD FLGTEST
|
||||
IF NOT EXIST FLGTMP\NUL MD FLGTMP
|
||||
IF NOT EXIST FLGCMP\NUL MD FLGCMP
|
||||
IF NOT EXIST FLGCMP\OUT\NUL MD FLGCMP\OUT
|
||||
IF NOT EXIST FLGCMP\PUBOUT\NUL MD FLGCMP\PUBOUT
|
||||
IF NOT EXIST FLGCMP\SETUP\NUL MD FLGCMP\SETUP
|
||||
IF NOT EXIST FLGCMP\UNOV\NUL MD FLGCMP\UNOV
|
||||
IF NOT EXIST FLGCMP\UPUB\NUL MD FLGCMP\UPUB
|
||||
IF NOT EXIST FLGCMP\USETUP\NUL MD FLGCMP\USETUP
|
||||
|
||||
IF EXIST F:\FLGCMP\RUN.LOG DEL F:\FLGCMP\RUN.LOG
|
||||
IF EXIST F:\FLGCMP\SUMMARY.TXT DEL F:\FLGCMP\SUMMARY.TXT
|
||||
IF EXIST F:\FLGCMP\COMPARE.LOG DEL F:\FLGCMP\COMPARE.LOG
|
||||
IF EXIST F:\FLGCMP\UCOMP.LOG DEL F:\FLGCMP\UCOMP.LOG
|
||||
IF EXIST F:\FLGCMP\FLGTSTA.ZIP DEL F:\FLGCMP\FLGTSTA.ZIP
|
||||
IF EXIST F:\FLGCMP\ZIP.LOG DEL F:\FLGCMP\ZIP.LOG
|
||||
|
||||
IF EXIST F:\FLGCMP\OUT\F01_BASE.OUT DEL F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F02_FLAGN.OUT DEL F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F03_SET1.OUT DEL F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F04_NDIR1.OUT DEL F:\FLGCMP\OUT\F04_NDIR1.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F05_FILTER.OUT DEL F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F06_CLEAR.OUT DEL F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F07_COMBO.OUT DEL F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F08_COPYREN.OUT DEL F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
IF EXIST F:\FLGCMP\OUT\F09_FINAL.OUT DEL F:\FLGCMP\OUT\F09_FINAL.OUT
|
||||
|
||||
REM Clean test files.
|
||||
IF EXIST F:\FLGTEST\ALPHA.TXT DEL F:\FLGTEST\ALPHA.TXT
|
||||
IF EXIST F:\FLGTEST\BETA.TXT DEL F:\FLGTEST\BETA.TXT
|
||||
IF EXIST F:\FLGTEST\GAMMA.DAT DEL F:\FLGTEST\GAMMA.DAT
|
||||
IF EXIST F:\FLGTEST\DELTA.BIN DEL F:\FLGTEST\DELTA.BIN
|
||||
IF EXIST F:\FLGTEST\EPS.TXT DEL F:\FLGTEST\EPS.TXT
|
||||
IF EXIST F:\FLGTEST\RENAMED.TXT DEL F:\FLGTEST\RENAMED.TXT
|
||||
IF EXIST F:\FLGTEST\COPY.TXT DEL F:\FLGTEST\COPY.TXT
|
||||
|
||||
ECHO FLGTSTA FLAG baseline > F:\FLGCMP\RUN.LOG
|
||||
ECHO Run while already logged in. >> F:\FLGCMP\RUN.LOG
|
||||
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\FLGCMP\RUN.LOG
|
||||
ECHO FLGTSTA FLAG compare > F:\FLGCMP\RUN.LOG
|
||||
ECHO Direct compare: NPUBLIC\FLAG vs PUBLIC\FLAG. >> F:\FLGCMP\RUN.LOG
|
||||
ECHO User context: NOPASSUSER via DLYSTRT if LGNTPWD is set. >> F:\FLGCMP\RUN.LOG
|
||||
ECHO. >> F:\FLGCMP\RUN.LOG
|
||||
|
||||
ECHO ALPHA FILE > F:\FLGTEST\ALPHA.TXT
|
||||
@@ -58,111 +58,134 @@ ECHO GAMMA FILE > F:\FLGTEST\GAMMA.DAT
|
||||
ECHO DELTA FILE > F:\FLGTEST\DELTA.BIN
|
||||
ECHO EPS FILE > F:\FLGTEST\EPS.TXT
|
||||
|
||||
ECHO === F01 base FLAG/NDIR readback === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F01_BASE.OUT
|
||||
ECHO Starting D10 read normal...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT > F:\FLGCMP\OUT\D10_READ.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT > F:\FLGCMP\PUBOUT\D10_READ.OUT
|
||||
|
||||
ECHO === F02 explicit FLAG N cleanup === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\OUT\F02_FLAGN.OUT
|
||||
ECHO Starting D11 FLAG N...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > F:\FLGCMP\OUT\D11_N.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > F:\FLGCMP\PUBOUT\D11_N.OUT
|
||||
|
||||
ECHO === F03 set individual flags === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN +Sy >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F03_SET1.OUT
|
||||
ECHO Starting D12 +H...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > F:\FLGCMP\OUT\D12_H.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\D12_H.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H > F:\FLGCMP\PUBOUT\D12_H.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\PUBOUT\D12_H.OUT
|
||||
|
||||
ECHO === F04 NDIR after flags === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F04_NDIR1.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /DATES >> F:\FLGCMP\OUT\F04_NDIR1.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /RIGHTS >> F:\FLGCMP\OUT\F04_NDIR1.OUT
|
||||
ECHO Starting D13 +RO...
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO > F:\FLGCMP\OUT\D13_RO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\D13_RO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO > F:\FLGCMP\PUBOUT\D13_RO.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\PUBOUT\D13_RO.OUT
|
||||
|
||||
ECHO === F05 NDIR filters for flags === >> F:\FLGCMP\RUN.LOG
|
||||
ECHO --- /H --- > F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /H >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO --- /RO --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /RO >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO --- /A --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /A >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO --- /SY --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /SY >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO --- /NOT H --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /NOT H >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO --- /NOT RO --- >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST /NOT RO >> F:\FLGCMP\OUT\F05_FILTER.OUT
|
||||
ECHO Starting D14 +A...
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A > F:\FLGCMP\OUT\D14_A.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\D14_A.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\GAMMA.DAT +A > F:\FLGCMP\PUBOUT\D14_A.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\PUBOUT\D14_A.OUT
|
||||
|
||||
ECHO === F06 clear individual flags === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H > F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT -RO >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT -A >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN -Sy >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT -DI -RI >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\F06_CLEAR.OUT
|
||||
ECHO Starting D15 +SY...
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN +SY > F:\FLGCMP\OUT\D15_SY.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\OUT\D15_SY.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\DELTA.BIN +SY > F:\FLGCMP\PUBOUT\D15_SY.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\DELTA.BIN >> F:\FLGCMP\PUBOUT\D15_SY.OUT
|
||||
|
||||
ECHO === F07 combined flags and FLAG N reset === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +A +Sy > F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT +RO +DI +RI >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT >> F:\FLGCMP\OUT\F07_COMBO.OUT
|
||||
ECHO Starting D16 +DI +RI...
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI > F:\FLGCMP\OUT\D16_DIRI.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\OUT\D16_DIRI.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\EPS.TXT +DI +RI > F:\FLGCMP\PUBOUT\D16_DIRI.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\EPS.TXT >> F:\FLGCMP\PUBOUT\D16_DIRI.OUT
|
||||
|
||||
ECHO === F08 copy/rename smoke === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
COPY F:\FLGTEST\EPS.TXT F:\FLGTEST\COPY.TXT > F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
REN F:\FLGTEST\COPY.TXT RENAMED.TXT >> F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
IF EXIST F:\FLGTEST\RENAMED.TXT ECHO OK RENAMED.TXT exists >> F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
IF NOT EXIST F:\FLGTEST\RENAMED.TXT ECHO FAIL RENAMED.TXT missing >> F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\RENAMED.TXT >> F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
NPUBLIC\NDIR F:\FLGTEST >> F:\FLGCMP\OUT\F08_COPYREN.OUT
|
||||
ECHO Starting D17 mixed flags...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > F:\FLGCMP\OUT\D17_MIX.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\D17_MIX.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > F:\FLGCMP\PUBOUT\D17_MIX.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\PUBOUT\D17_MIX.OUT
|
||||
|
||||
ECHO === F09 final file cleanup/readback === >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
IF EXIST F:\FLGTEST\RENAMED.TXT NPUBLIC\FLAG F:\FLGTEST\RENAMED.TXT N >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\FLGTEST > F:\FLGCMP\OUT\F09_FINAL.OUT
|
||||
ECHO Starting D18 clear flags...
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H -RO -A > F:\FLGCMP\OUT\D18_CLR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\OUT\D18_CLR.OUT
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT +H +RO +A > NUL
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT -H -RO -A > F:\FLGCMP\PUBOUT\D18_CLR.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\ALPHA.TXT >> F:\FLGCMP\PUBOUT\D18_CLR.OUT
|
||||
|
||||
ECHO === SUMMARY === > F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO FLGTSTA FLAG baseline finished. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO Expected: >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO - F03 shows H on ALPHA, RO on BETA, A on GAMMA, Sy on DELTA. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO - F05 filters isolate H, RO, A, Sy and NOT variants. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO - F06 clears the individual flags. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO - F07 combined flags set and reset with N. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO - F09 final readback shows normal usable files. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO Optional pack results with FLGTZIP.BAT. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO Starting D90 missing file...
|
||||
NPUBLIC\FLAG F:\FLGTEST\NOFILE.TXT > F:\FLGCMP\OUT\D90_MISS.OUT
|
||||
PUBLIC\FLAG F:\FLGTEST\NOFILE.TXT > F:\FLGCMP\PUBOUT\D90_MISS.OUT
|
||||
|
||||
ECHO Comparing direct FLAG outputs... > F:\FLGCMP\COMPARE.LOG
|
||||
FOR %%F IN (D10_READ.OUT D11_N.OUT D12_H.OUT D13_RO.OUT D14_A.OUT D15_SY.OUT D16_DIRI.OUT D17_MIX.OUT D18_CLR.OUT D90_MISS.OUT) DO FC F:\FLGCMP\OUT\%%F F:\FLGCMP\PUBOUT\%%F >> F:\FLGCMP\COMPARE.LOG
|
||||
|
||||
REM Prepare user-context test tree.
|
||||
ECHO Preparing NOPASSUSER FLAG matrix... >> F:\FLGCMP\RUN.LOG
|
||||
NPUBLIC\FLAG F:\FLGTEST\ALPHA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\BETA.TXT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\GAMMA.DAT N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\DELTA.BIN N > NUL
|
||||
NPUBLIC\FLAG F:\FLGTEST\EPS.TXT N > NUL
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST TO USER NOPASSUSER > F:\FLGCMP\SETUP\S01_GRD.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST\ALPHA.TXT TO USER NOPASSUSER /FILES > F:\FLGCMP\SETUP\S02_GRF.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST\BETA.TXT TO USER NOPASSUSER /FILES >> F:\FLGCMP\SETUP\S02_GRF.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST\GAMMA.DAT TO USER NOPASSUSER /FILES >> F:\FLGCMP\SETUP\S02_GRF.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST\DELTA.BIN TO USER NOPASSUSER /FILES >> F:\FLGCMP\SETUP\S02_GRF.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FLGTEST\EPS.TXT TO USER NOPASSUSER /FILES >> F:\FLGCMP\SETUP\S02_GRF.OUT
|
||||
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
|
||||
IF EXIST C:\FLGTMP DELTREE /Y C:\FLGTMP > NUL
|
||||
MD C:\FLGTMP
|
||||
MD C:\FLGTMP\UNOV
|
||||
MD C:\FLGTMP\UPUB
|
||||
COPY F:\FLGC.BAT C:\FLGTMP\FLGC.BAT > NUL
|
||||
COPY F:\PUBLIC\DLYSTRT.EXE C:\FLGTMP\DLYSTRT.EXE > NUL
|
||||
|
||||
C:
|
||||
CD \FLGTMP
|
||||
DLYSTRT /T:2 FLGC.BAT
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO LGNTPWD is not set. User-context FLAG block skipped. >> F:\FLGCMP\RUN.LOG
|
||||
ECHO.
|
||||
ECHO FLGTSTA fertig.
|
||||
ECHO Ergebnisse liegen in F:\FLGCMP
|
||||
ECHO Optional: FLGTZIP ausfuehren.
|
||||
ECHO LGNTPWD ist nicht gesetzt. User-Kontext wurde nicht gestartet.
|
||||
ECHO Beispiel:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
ECHO FLGTSTA
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST FLGCMP\UNOV\NUL MD FLGCMP\UNOV
|
||||
IF NOT EXIST FLGCMP\UPUB\NUL MD FLGCMP\UPUB
|
||||
IF EXIST F:\FLGCMP\UCOMP.LOG DEL F:\FLGCMP\UCOMP.LOG
|
||||
COPY C:\FLGTMP\UNOV\*.OUT F:\FLGCMP\UNOV > NUL
|
||||
COPY C:\FLGTMP\UPUB\*.OUT F:\FLGCMP\UPUB > NUL
|
||||
IF EXIST C:\FLGTMP\HELPER.TXT COPY C:\FLGTMP\HELPER.TXT F:\FLGCMP > NUL
|
||||
ECHO Comparing NOPASSUSER FLAG outputs... > F:\FLGCMP\UCOMP.LOG
|
||||
FOR %%F IN (U10_READ.OUT U11_N.OUT U12_H.OUT U13_RO.OUT U14_A.OUT U15_SY.OUT U16_DIRI.OUT U17_MIX.OUT U18_CLR.OUT U90_MISS.OUT) DO FC F:\FLGCMP\UNOV\%%F F:\FLGCMP\UPUB\%%F >> F:\FLGCMP\UCOMP.LOG
|
||||
ECHO FLGTSTA summary > F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO Direct compare: F:\FLGCMP\COMPARE.LOG >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO User compare: F:\FLGCMP\UCOMP.LOG >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO Optional: FLGTZIP ausfuehren. >> F:\FLGCMP\SUMMARY.TXT
|
||||
ECHO.
|
||||
ECHO FLGTSTA PART2 fertig. Optional FLGTZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
@ECHO OFF
|
||||
REM FLGTZIP.BAT
|
||||
REM Optional packer for FLGTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \FLGCMP
|
||||
|
||||
IF EXIST FLGTSTA.ZIP DEL FLGTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating FLGTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r FLGTSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \FLGTEST\NUL DELTREE /Y \FLGTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\FLGCMP\FLGTSTA.ZIP
|
||||
ECHO F:\FLGCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM FLGTZIP.BAT
|
||||
REM Optional packer for FLGTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \FLGCMP
|
||||
|
||||
IF EXIST FLGTSTA.ZIP DEL FLGTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating FLGTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r FLGTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT OUT PUBOUT SETUP UNOV UPUB USETUP >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \FLGTEST\NUL DELTREE /Y \FLGTEST >> ZIP.LOG
|
||||
IF EXIST \FLGTMP\NUL DELTREE /Y \FLGTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\FLGCMP\FLGTSTA.ZIP
|
||||
ECHO F:\FLGCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,35 +1,50 @@
|
||||
# FLAG automated test
|
||||
|
||||
Novell FLAG baseline using `NPUBLIC\FLAG`.
|
||||
|
||||
## Run
|
||||
|
||||
Run while already logged in and with `F:` mapped to `SYS`.
|
||||
|
||||
```text
|
||||
FLGTSTA
|
||||
FLGTZIP
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```text
|
||||
F:\FLGCMP\FLGTSTA.ZIP
|
||||
```
|
||||
|
||||
Linux package with server log:
|
||||
|
||||
```sh
|
||||
sudo ./mars_packtest_v3.sh flgtsta 5 mario
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
- file flag display
|
||||
- `FLAG ... N`
|
||||
- set/clear `H`, `RO`, `A`, `Sy`, `DI`, `RI`
|
||||
- combined flags
|
||||
- NDIR readback
|
||||
- NDIR filters `/H`, `/RO`, `/A`, `/SY`, `/NOT H`, `/NOT RO`
|
||||
- copy/rename smoke check
|
||||
- final cleanup
|
||||
# FLAG automated compare test
|
||||
|
||||
Compares Novell `NPUBLIC\FLAG` against the current `PUBLIC\FLAG`.
|
||||
|
||||
## Run
|
||||
|
||||
For the direct compare only:
|
||||
|
||||
```text
|
||||
FLGTSTA
|
||||
```
|
||||
|
||||
For the full automatic NOPASSUSER context block, set the maintainer-login
|
||||
password first:
|
||||
|
||||
```text
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
FLGTSTA
|
||||
```
|
||||
|
||||
`FLGTSTA` starts `C:\FLGTMP\FLGC.BAT` through `DLYSTRT`, logs in as
|
||||
`NOPASSUSER`, runs `NPUBLIC\FLAG` and `PUBLIC\FLAG`, logs back in as
|
||||
`SUPERVISOR` with `F:\LOGIN\LOGIN /PWD:`, and then queues
|
||||
`FLGTSTA PART2`.
|
||||
|
||||
Package manually:
|
||||
|
||||
```text
|
||||
FLGTZIP
|
||||
```
|
||||
|
||||
## Result directories
|
||||
|
||||
```text
|
||||
F:\FLGCMP\OUT Novell FLAG direct baseline
|
||||
F:\FLGCMP\PUBOUT PUBLIC FLAG direct output
|
||||
F:\FLGCMP\COMPARE.LOG direct FC compare
|
||||
F:\FLGCMP\UNOV Novell FLAG as NOPASSUSER
|
||||
F:\FLGCMP\UPUB PUBLIC FLAG as NOPASSUSER
|
||||
F:\FLGCMP\UCOMP.LOG NOPASSUSER FC compare
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
- `FLAG` display
|
||||
- `FLAG ... N`
|
||||
- set/clear `H`, `RO`, `A`, `SY`, `DI`, `RI`
|
||||
- mixed flag combinations
|
||||
- missing-file behavior
|
||||
- same cases as `NOPASSUSER`
|
||||
|
||||
79
test/flagdir/FDGC.BAT
Normal file
79
test/flagdir/FDGC.BAT
Normal file
@@ -0,0 +1,79 @@
|
||||
@ECHO OFF
|
||||
REM FDGC.BAT - helper for FDGTSTA user-context FLAGDIR tests.
|
||||
C:
|
||||
CD \FDGTMP
|
||||
ECHO FDGC helper started. > C:\FDGTMP\HELPER.TXT
|
||||
ECHO Running FLAGDIR as NOPASSUSER, then relogging SUPERVISOR. >> C:\FDGTMP\HELPER.TXT
|
||||
|
||||
LOGOUT > C:\FDGTMP\D00_LOG.OUT
|
||||
LOGIN NOPASSUSER > C:\FDGTMP\D01_LGIN.OUT
|
||||
F:
|
||||
CD \
|
||||
|
||||
ECHO Starting U10 read...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA > C:\FDGTMP\UNOV\U10_READ.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA > C:\FDGTMP\UPUB\U10_READ.OUT
|
||||
|
||||
ECHO Starting U11 Hidden...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > C:\FDGTMP\UNOV\U11_HID.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> C:\FDGTMP\UNOV\U11_HID.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > C:\FDGTMP\UPUB\U11_HID.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> C:\FDGTMP\UPUB\U11_HID.OUT
|
||||
|
||||
ECHO Starting U12 System...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB System > C:\FDGTMP\UNOV\U12_SYS.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> C:\FDGTMP\UNOV\U12_SYS.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB System > C:\FDGTMP\UPUB\U12_SYS.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB >> C:\FDGTMP\UPUB\U12_SYS.OUT
|
||||
|
||||
ECHO Starting U13 Purge...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > C:\FDGTMP\UNOV\U13_PUR.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> C:\FDGTMP\UNOV\U13_PUR.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > C:\FDGTMP\UPUB\U13_PUR.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRC >> C:\FDGTMP\UPUB\U13_PUR.OUT
|
||||
|
||||
ECHO Starting U14 Delete/Rename inhibit...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > C:\FDGTMP\UNOV\U14_DIRI.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> C:\FDGTMP\UNOV\U14_DIRI.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > C:\FDGTMP\UPUB\U14_DIRI.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> C:\FDGTMP\UPUB\U14_DIRI.OUT
|
||||
|
||||
ECHO Starting U15 Normal reset...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > C:\FDGTMP\UNOV\U15_NORM.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> C:\FDGTMP\UNOV\U15_NORM.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > C:\FDGTMP\UPUB\U15_NORM.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> C:\FDGTMP\UPUB\U15_NORM.OUT
|
||||
|
||||
ECHO Starting U90 missing...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\MISSING > C:\FDGTMP\UNOV\U90_MISS.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\MISSING > C:\FDGTMP\UPUB\U90_MISS.OUT
|
||||
|
||||
LOGOUT > C:\FDGTMP\D02_LGOT.OUT
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOGIN
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\FDGTMP\HELPER.TXT
|
||||
GOTO END
|
||||
:HAVELOGIN
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\FDGTMP\D03_LGSU.OUT
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \FDGTSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or FDGTSTA missing. >> C:\FDGTMP\HELPER.TXT
|
||||
GOTO END
|
||||
:QUEUEP2
|
||||
C:
|
||||
CD \FDGTMP
|
||||
DLYSTRT /T:2 F:\FDGTSTA.BAT PART2 > C:\FDGTMP\D04_P2.OUT
|
||||
:END
|
||||
@@ -1,31 +1,28 @@
|
||||
@ECHO OFF
|
||||
REM FDGTSTA.BAT
|
||||
REM Automated Novell FLAGDIR baseline for MARS NWE.
|
||||
REM FLAGDIR compare test.
|
||||
REM
|
||||
REM Run while already logged in and with F: mapped to SYS.
|
||||
REM Direct part:
|
||||
REM OUT = Novell baseline using \NPUBLIC\FLAGDIR
|
||||
REM PUBOUT = our implementation using \PUBLIC\FLAGDIR
|
||||
REM
|
||||
REM Test tree:
|
||||
REM F:\FDGTEST
|
||||
REM Result tree:
|
||||
REM F:\FDGCMP
|
||||
REM
|
||||
REM Scope:
|
||||
REM FLAGDIR on directories only.
|
||||
REM
|
||||
REM FLAGDIR uses long option names:
|
||||
REM Normal
|
||||
REM System
|
||||
REM Hidden
|
||||
REM Deleteinhibit
|
||||
REM Purge
|
||||
REM Renameinhibit
|
||||
REM User-context part:
|
||||
REM NOPASSUSER logs in via DLYSTRT helper and runs the same effective tests.
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: FDGTSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST FDGTEST\NUL DELTREE /Y FDGTEST\*.*
|
||||
IF EXIST FDGCMP\NUL DELTREE /Y FDGCMP\*.*
|
||||
IF EXIST FDGTMP\NUL DELTREE /Y FDGTMP\*.*
|
||||
|
||||
IF NOT EXIST FDGTEST\NUL MD FDGTEST
|
||||
IF NOT EXIST FDGTEST\DIRA\NUL MD FDGTEST\DIRA
|
||||
@@ -34,89 +31,117 @@ IF NOT EXIST FDGTEST\DIRC\NUL MD FDGTEST\DIRC
|
||||
IF NOT EXIST FDGTEST\DIRB\SUB\NUL MD FDGTEST\DIRB\SUB
|
||||
IF NOT EXIST FDGCMP\NUL MD FDGCMP
|
||||
IF NOT EXIST FDGCMP\OUT\NUL MD FDGCMP\OUT
|
||||
IF NOT EXIST FDGCMP\PUBOUT\NUL MD FDGCMP\PUBOUT
|
||||
IF NOT EXIST FDGCMP\SETUP\NUL MD FDGCMP\SETUP
|
||||
IF NOT EXIST FDGCMP\UNOV\NUL MD FDGCMP\UNOV
|
||||
IF NOT EXIST FDGCMP\UPUB\NUL MD FDGCMP\UPUB
|
||||
|
||||
IF EXIST F:\FDGCMP\RUN.LOG DEL F:\FDGCMP\RUN.LOG
|
||||
IF EXIST F:\FDGCMP\SUMMARY.TXT DEL F:\FDGCMP\SUMMARY.TXT
|
||||
IF EXIST F:\FDGCMP\COMPARE.LOG DEL F:\FDGCMP\COMPARE.LOG
|
||||
IF EXIST F:\FDGCMP\UCOMP.LOG DEL F:\FDGCMP\UCOMP.LOG
|
||||
IF EXIST F:\FDGCMP\FDGTSTA.ZIP DEL F:\FDGCMP\FDGTSTA.ZIP
|
||||
IF EXIST F:\FDGCMP\ZIP.LOG DEL F:\FDGCMP\ZIP.LOG
|
||||
|
||||
IF EXIST F:\FDGCMP\OUT\D01_BASE.OUT DEL F:\FDGCMP\OUT\D01_BASE.OUT
|
||||
IF EXIST F:\FDGCMP\OUT\D02_SET.OUT DEL F:\FDGCMP\OUT\D02_SET.OUT
|
||||
IF EXIST F:\FDGCMP\OUT\D03_NDIR.OUT DEL F:\FDGCMP\OUT\D03_NDIR.OUT
|
||||
IF EXIST F:\FDGCMP\OUT\D04_FILTER.OUT DEL F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
IF EXIST F:\FDGCMP\OUT\D05_NORMAL.OUT DEL F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
IF EXIST F:\FDGCMP\OUT\D06_FINAL.OUT DEL F:\FDGCMP\OUT\D06_FINAL.OUT
|
||||
|
||||
IF EXIST F:\FDGTEST\DIRB\SUB\SUB.TXT DEL F:\FDGTEST\DIRB\SUB\SUB.TXT
|
||||
ECHO SUB FILE > F:\FDGTEST\DIRB\SUB\SUB.TXT
|
||||
ECHO FDGTSTA FLAGDIR compare > F:\FDGCMP\RUN.LOG
|
||||
|
||||
ECHO FDGTSTA FLAGDIR baseline > F:\FDGCMP\RUN.LOG
|
||||
ECHO Run while already logged in. >> F:\FDGCMP\RUN.LOG
|
||||
ECHO Date/time stamp skipped to avoid DOS prompt. >> F:\FDGCMP\RUN.LOG
|
||||
ECHO. >> F:\FDGCMP\RUN.LOG
|
||||
ECHO Starting D10 read normal...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA > F:\FDGCMP\OUT\D10_READ.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA > F:\FDGCMP\PUBOUT\D10_READ.OUT
|
||||
|
||||
ECHO === D01 FLAGDIR base / reset to Normal === >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA > F:\FDGCMP\OUT\D01_BASE.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\OUT\D01_BASE.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\OUT\D01_BASE.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\OUT\D01_BASE.OUT
|
||||
ECHO Starting D11 Hidden...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > F:\FDGCMP\OUT\D11_HID.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D11_HID.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > F:\FDGCMP\PUBOUT\D11_HID.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\PUBOUT\D11_HID.OUT
|
||||
|
||||
ECHO === D02 FLAGDIR set directory flags === >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden > F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB System >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\OUT\D02_SET.OUT
|
||||
ECHO Starting D12 System...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB System > F:\FDGCMP\OUT\D12_SYS.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\OUT\D12_SYS.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB System > F:\FDGCMP\PUBOUT\D12_SYS.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\PUBOUT\D12_SYS.OUT
|
||||
|
||||
ECHO === D03 NDIR directory readback === >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\FDGTEST > F:\FDGCMP\OUT\D03_NDIR.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /DO >> F:\FDGCMP\OUT\D03_NDIR.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /RIGHTS >> F:\FDGCMP\OUT\D03_NDIR.OUT
|
||||
ECHO Starting D13 Purge...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > F:\FDGCMP\OUT\D13_PUR.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\OUT\D13_PUR.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRC Purge > F:\FDGCMP\PUBOUT\D13_PUR.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\PUBOUT\D13_PUR.OUT
|
||||
|
||||
ECHO === D04 NDIR filters for directory flags === >> F:\FDGCMP\RUN.LOG
|
||||
ECHO --- /H --- > F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /H >> F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
ECHO --- /SY --- >> F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /SY >> F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
ECHO --- /NOT H --- >> F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /NOT H >> F:\FDGCMP\OUT\D04_FILTER.OUT
|
||||
ECHO Starting D14 Delete/Rename inhibit...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > F:\FDGCMP\OUT\D14_DIRI.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\OUT\D14_DIRI.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Deleteinhibit Renameinhibit > F:\FDGCMP\PUBOUT\D14_DIRI.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\PUBOUT\D14_DIRI.OUT
|
||||
|
||||
ECHO === D05 FLAGDIR Normal reset === >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB Normal >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC Normal >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB Normal >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRC >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRB\SUB >> F:\FDGCMP\OUT\D05_NORMAL.OUT
|
||||
ECHO Starting D15 mixed reset...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > F:\FDGCMP\OUT\D15_NORM.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\OUT\D15_NORM.OUT
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\DIRA Hidden System > NUL
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA Normal > F:\FDGCMP\PUBOUT\D15_NORM.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\DIRA >> F:\FDGCMP\PUBOUT\D15_NORM.OUT
|
||||
|
||||
ECHO === D06 final NDIR readback === >> F:\FDGCMP\RUN.LOG
|
||||
NPUBLIC\NDIR F:\FDGTEST > F:\FDGCMP\OUT\D06_FINAL.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /DO >> F:\FDGCMP\OUT\D06_FINAL.OUT
|
||||
NPUBLIC\NDIR F:\FDGTEST /RIGHTS >> F:\FDGCMP\OUT\D06_FINAL.OUT
|
||||
ECHO Starting D90 missing dir...
|
||||
NPUBLIC\FLAGDIR F:\FDGTEST\MISSING > F:\FDGCMP\OUT\D90_MISS.OUT
|
||||
PUBLIC\FLAGDIR F:\FDGTEST\MISSING > F:\FDGCMP\PUBOUT\D90_MISS.OUT
|
||||
|
||||
ECHO === SUMMARY === > F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO FDGTSTA FLAGDIR baseline finished. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO Expected: >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D01 displays base directory flags after Normal reset. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D02 sets Hidden, System, Purge, Deleteinhibit, Renameinhibit. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D03 shows NDIR directory readback. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D04 checks NDIR filters for visible directory flags. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D05 resets all directory flags to Normal. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO - D06 final readback should show normal directories. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO Optional pack results with FDGTZIP.BAT. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO Comparing direct FLAGDIR outputs... > F:\FDGCMP\COMPARE.LOG
|
||||
FOR %%F IN (D10_READ.OUT D11_HID.OUT D12_SYS.OUT D13_PUR.OUT D14_DIRI.OUT D15_NORM.OUT D90_MISS.OUT) DO FC F:\FDGCMP\OUT\%%F F:\FDGCMP\PUBOUT\%%F >> F:\FDGCMP\COMPARE.LOG
|
||||
|
||||
REM Grant NOPASSUSER enough rights for user-context directory flag tests.
|
||||
NPUBLIC\GRANT ALL FOR F:\FDGTEST TO USER NOPASSUSER > F:\FDGCMP\SETUP\S01_GRD.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRA TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRB TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRC TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
||||
NPUBLIC\GRANT ALL FOR F:\FDGTEST\DIRB\SUB TO USER NOPASSUSER >> F:\FDGCMP\SETUP\S01_GRD.OUT
|
||||
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
|
||||
IF EXIST C:\FDGTMP DELTREE /Y C:\FDGTMP > NUL
|
||||
MD C:\FDGTMP
|
||||
MD C:\FDGTMP\UNOV
|
||||
MD C:\FDGTMP\UPUB
|
||||
COPY F:\FDGC.BAT C:\FDGTMP\FDGC.BAT > NUL
|
||||
COPY F:\PUBLIC\DLYSTRT.EXE C:\FDGTMP\DLYSTRT.EXE > NUL
|
||||
|
||||
C:
|
||||
CD \FDGTMP
|
||||
DLYSTRT /T:2 FDGC.BAT
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO LGNTPWD is not set. User-context FLAGDIR block skipped. >> F:\FDGCMP\RUN.LOG
|
||||
ECHO.
|
||||
ECHO FDGTSTA fertig.
|
||||
ECHO Ergebnisse liegen in F:\FDGCMP
|
||||
ECHO Optional: FDGTZIP ausfuehren.
|
||||
ECHO LGNTPWD ist nicht gesetzt. User-Kontext wurde nicht gestartet.
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST FDGCMP\UNOV\NUL MD FDGCMP\UNOV
|
||||
IF NOT EXIST FDGCMP\UPUB\NUL MD FDGCMP\UPUB
|
||||
IF EXIST F:\FDGCMP\UCOMP.LOG DEL F:\FDGCMP\UCOMP.LOG
|
||||
COPY C:\FDGTMP\UNOV\*.OUT F:\FDGCMP\UNOV > NUL
|
||||
COPY C:\FDGTMP\UPUB\*.OUT F:\FDGCMP\UPUB > NUL
|
||||
IF EXIST C:\FDGTMP\HELPER.TXT COPY C:\FDGTMP\HELPER.TXT F:\FDGCMP > NUL
|
||||
ECHO Comparing NOPASSUSER FLAGDIR outputs... > F:\FDGCMP\UCOMP.LOG
|
||||
FOR %%F IN (U10_READ.OUT U11_HID.OUT U12_SYS.OUT U13_PUR.OUT U14_DIRI.OUT U15_NORM.OUT U90_MISS.OUT) DO FC F:\FDGCMP\UNOV\%%F F:\FDGCMP\UPUB\%%F >> F:\FDGCMP\UCOMP.LOG
|
||||
ECHO FDGTSTA summary > F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO Direct compare: F:\FDGCMP\COMPARE.LOG >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO User compare: F:\FDGCMP\UCOMP.LOG >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO Optional: FDGTZIP ausfuehren. >> F:\FDGCMP\SUMMARY.TXT
|
||||
ECHO.
|
||||
ECHO FDGTSTA PART2 fertig. Optional FDGTZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
@ECHO OFF
|
||||
REM FDGTZIP.BAT
|
||||
REM Optional packer for FDGTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \FDGCMP
|
||||
|
||||
IF EXIST FDGTSTA.ZIP DEL FDGTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating FDGTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r FDGTSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \FDGTEST\NUL DELTREE /Y \FDGTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\FDGCMP\FDGTSTA.ZIP
|
||||
ECHO F:\FDGCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM FDGTZIP.BAT
|
||||
REM Optional packer for FDGTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \FDGCMP
|
||||
|
||||
IF EXIST FDGTSTA.ZIP DEL FDGTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating FDGTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r FDGTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT OUT PUBOUT SETUP UNOV UPUB >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \FDGTEST\NUL DELTREE /Y \FDGTEST >> ZIP.LOG
|
||||
IF EXIST \FDGTMP\NUL DELTREE /Y \FDGTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\FDGCMP\FDGTSTA.ZIP
|
||||
ECHO F:\FDGCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,47 +1,51 @@
|
||||
# FLAGDIR automated test
|
||||
|
||||
Novell FLAGDIR baseline using `NPUBLIC\FLAGDIR`.
|
||||
|
||||
`FLAGDIR` uses long option names, not the short FLAG names.
|
||||
|
||||
Supported options shown by the tool:
|
||||
|
||||
```text
|
||||
Normal
|
||||
System
|
||||
Hidden
|
||||
Deleteinhibit
|
||||
Purge
|
||||
Renameinhibit
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
Run while already logged in and with `F:` mapped to `SYS`.
|
||||
|
||||
```text
|
||||
FDGTSTA
|
||||
FDGTZIP
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```text
|
||||
F:\FDGCMP\FDGTSTA.ZIP
|
||||
```
|
||||
|
||||
Linux package with server log:
|
||||
|
||||
```sh
|
||||
sudo ./mars_packtest_v3.sh fdgtsta 5 mario
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
- directory flag display
|
||||
- `Normal` reset
|
||||
- set `Hidden`, `System`, `Purge`
|
||||
- set `Deleteinhibit` and `Renameinhibit`
|
||||
- NDIR directory readback
|
||||
- NDIR filters for visible flags
|
||||
- final reset/readback
|
||||
# FLAGDIR automated compare test
|
||||
|
||||
Compares Novell `NPUBLIC\FLAGDIR` against the current `PUBLIC\FLAGDIR`.
|
||||
|
||||
## Run
|
||||
|
||||
For the direct compare only:
|
||||
|
||||
```text
|
||||
FDGTSTA
|
||||
```
|
||||
|
||||
For the automatic NOPASSUSER context block, set the maintainer-login password:
|
||||
|
||||
```text
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
FDGTSTA
|
||||
```
|
||||
|
||||
`FDGTSTA` starts `C:\FDGTMP\FDGC.BAT` through `DLYSTRT`, logs in as
|
||||
`NOPASSUSER`, runs `NPUBLIC\FLAGDIR` and `PUBLIC\FLAGDIR`, logs back in as
|
||||
`SUPERVISOR` with `F:\LOGIN\LOGIN /PWD:`, and then queues
|
||||
`FDGTSTA PART2`.
|
||||
|
||||
Package manually:
|
||||
|
||||
```text
|
||||
FDGTZIP
|
||||
```
|
||||
|
||||
## Result directories
|
||||
|
||||
```text
|
||||
F:\FDGCMP\OUT Novell FLAGDIR direct baseline
|
||||
F:\FDGCMP\PUBOUT PUBLIC FLAGDIR direct output
|
||||
F:\FDGCMP\COMPARE.LOG direct FC compare
|
||||
F:\FDGCMP\UNOV Novell FLAGDIR as NOPASSUSER
|
||||
F:\FDGCMP\UPUB PUBLIC FLAGDIR as NOPASSUSER
|
||||
F:\FDGCMP\UCOMP.LOG NOPASSUSER FC compare
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
- `FLAGDIR` display
|
||||
- `Normal`
|
||||
- `Hidden`
|
||||
- `System`
|
||||
- `Purge`
|
||||
- `Deleteinhibit` / `Renameinhibit`
|
||||
- missing-directory behavior
|
||||
- same cases as `NOPASSUSER`
|
||||
|
||||
165
test/grant/GRNTC.BAT
Normal file
165
test/grant/GRNTC.BAT
Normal file
@@ -0,0 +1,165 @@
|
||||
@ECHO OFF
|
||||
REM GRNTC.BAT - delayed user-context GRANT readback helper.
|
||||
REM Started by GRNTSTA via DLYSTRT. Runs from C:\GRNTTMP.
|
||||
|
||||
C:
|
||||
CD \GRNTTMP
|
||||
|
||||
ECHO GRNTC user-context GRANT readback helper > HELPER.TXT
|
||||
ECHO Current phase: logout supervisor, login NOPASSUSER. >> HELPER.TXT
|
||||
|
||||
LOGOUT > ULOG1.OUT
|
||||
LOGIN NOPASSUSER > ULOGIN.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \NPUBLIC\RIGHTS.EXE GOTO HAVEF
|
||||
ECHO F: not ready after NOPASSUSER login. >> C:\GRNTTMP\HELPER.TXT
|
||||
GOTO RELSUP
|
||||
|
||||
:HAVEF
|
||||
ECHO Starting G10_R as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G10 > C:\GRNTTMP\UNOV\G10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G10 > C:\GRNTTMP\UPUB\G10_R.OUT
|
||||
ECHO Starting G11_W as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G11 > C:\GRNTTMP\UNOV\G11_W.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G11 > C:\GRNTTMP\UPUB\G11_W.OUT
|
||||
ECHO Starting G12_C as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G12 > C:\GRNTTMP\UNOV\G12_C.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G12 > C:\GRNTTMP\UPUB\G12_C.OUT
|
||||
ECHO Starting G13_E as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G13 > C:\GRNTTMP\UNOV\G13_E.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G13 > C:\GRNTTMP\UPUB\G13_E.OUT
|
||||
ECHO Starting G14_M as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G14 > C:\GRNTTMP\UNOV\G14_M.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G14 > C:\GRNTTMP\UPUB\G14_M.OUT
|
||||
ECHO Starting G15_F as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G15 > C:\GRNTTMP\UNOV\G15_F.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G15 > C:\GRNTTMP\UPUB\G15_F.OUT
|
||||
ECHO Starting G16_A as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G16 > C:\GRNTTMP\UNOV\G16_A.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G16 > C:\GRNTTMP\UPUB\G16_A.OUT
|
||||
ECHO Starting G17_S as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G17 > C:\GRNTTMP\UNOV\G17_S.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G17 > C:\GRNTTMP\UPUB\G17_S.OUT
|
||||
ECHO Starting G20_RF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G20 > C:\GRNTTMP\UNOV\G20_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G20 > C:\GRNTTMP\UPUB\G20_RF.OUT
|
||||
ECHO Starting G21_RW as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G21 > C:\GRNTTMP\UNOV\G21_RW.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G21 > C:\GRNTTMP\UPUB\G21_RW.OUT
|
||||
ECHO Starting G22_RWC as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G22 > C:\GRNTTMP\UNOV\G22_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G22 > C:\GRNTTMP\UPUB\G22_RWC.OUT
|
||||
ECHO Starting G23_RWCE as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G23 > C:\GRNTTMP\UNOV\G23_RWCE.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G23 > C:\GRNTTMP\UPUB\G23_RWCE.OUT
|
||||
ECHO Starting G24_RAL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G24 > C:\GRNTTMP\UNOV\G24_RAL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G24 > C:\GRNTTMP\UPUB\G24_RAL.OUT
|
||||
ECHO Starting G25_SAL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G25 > C:\GRNTTMP\UNOV\G25_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G25 > C:\GRNTTMP\UPUB\G25_SAL.OUT
|
||||
ECHO Starting G26_ALL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G26 > C:\GRNTTMP\UNOV\G26_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G26 > C:\GRNTTMP\UPUB\G26_ALL.OUT
|
||||
ECHO Starting G27_N as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G27 > C:\GRNTTMP\UNOV\G27_N.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G27 > C:\GRNTTMP\UPUB\G27_N.OUT
|
||||
ECHO Starting G30_RE as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G30 > C:\GRNTTMP\UNOV\G30_RE.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G30 > C:\GRNTTMP\UPUB\G30_RE.OUT
|
||||
ECHO Starting G31_RWF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G31 > C:\GRNTTMP\UNOV\G31_RWF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G31 > C:\GRNTTMP\UPUB\G31_RWF.OUT
|
||||
ECHO Starting G32_RCM as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G32 > C:\GRNTTMP\UNOV\G32_RCM.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G32 > C:\GRNTTMP\UPUB\G32_RCM.OUT
|
||||
ECHO Starting G33_RFA as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G33 > C:\GRNTTMP\UNOV\G33_RFA.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G33 > C:\GRNTTMP\UPUB\G33_RFA.OUT
|
||||
ECHO Starting G34_WCM as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G34 > C:\GRNTTMP\UNOV\G34_WCM.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G34 > C:\GRNTTMP\UPUB\G34_WCM.OUT
|
||||
ECHO Starting G35_EMF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G35 > C:\GRNTTMP\UNOV\G35_EMF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G35 > C:\GRNTTMP\UPUB\G35_EMF.OUT
|
||||
ECHO Starting G36_RMF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G36 > C:\GRNTTMP\UNOV\G36_RMF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G36 > C:\GRNTTMP\UPUB\G36_RMF.OUT
|
||||
ECHO Starting G37_REMA as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G37 > C:\GRNTTMP\UNOV\G37_REMA.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G37 > C:\GRNTTMP\UPUB\G37_REMA.OUT
|
||||
ECHO Starting G38_SR as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G38 > C:\GRNTTMP\UNOV\G38_SR.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G38 > C:\GRNTTMP\UPUB\G38_SR.OUT
|
||||
ECHO Starting G39_SRF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G39 > C:\GRNTTMP\UNOV\G39_SRF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G39 > C:\GRNTTMP\UPUB\G39_SRF.OUT
|
||||
ECHO Starting G40_SWCM as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\G40 > C:\GRNTTMP\UNOV\G40_SWCM.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\G40 > C:\GRNTTMP\UPUB\G40_SWCM.OUT
|
||||
ECHO Starting F10_R as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F10\T.TXT > C:\GRNTTMP\UNOV\F10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F10\T.TXT > C:\GRNTTMP\UPUB\F10_R.OUT
|
||||
ECHO Starting F11_RF as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F11\T.TXT > C:\GRNTTMP\UNOV\F11_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F11\T.TXT > C:\GRNTTMP\UPUB\F11_RF.OUT
|
||||
ECHO Starting F12_RAL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F12\T.TXT > C:\GRNTTMP\UNOV\F12_RAL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F12\T.TXT > C:\GRNTTMP\UPUB\F12_RAL.OUT
|
||||
ECHO Starting F13_ALL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F13\T.TXT > C:\GRNTTMP\UNOV\F13_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F13\T.TXT > C:\GRNTTMP\UPUB\F13_ALL.OUT
|
||||
ECHO Starting F14_N as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F14\T.TXT > C:\GRNTTMP\UNOV\F14_N.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F14\T.TXT > C:\GRNTTMP\UPUB\F14_N.OUT
|
||||
ECHO Starting F15_S as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F15\T.TXT > C:\GRNTTMP\UNOV\F15_S.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F15\T.TXT > C:\GRNTTMP\UPUB\F15_S.OUT
|
||||
ECHO Starting F16_SAL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\F16\T.TXT > C:\GRNTTMP\UNOV\F16_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\F16\T.TXT > C:\GRNTTMP\UPUB\F16_SAL.OUT
|
||||
ECHO Starting S10_R as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\S10\S1 > C:\GRNTTMP\UNOV\S10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\S10\S1 > C:\GRNTTMP\UPUB\S10_R.OUT
|
||||
ECHO Starting S11_RWC as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\S11\S1 > C:\GRNTTMP\UNOV\S11_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\S11\S1 > C:\GRNTTMP\UPUB\S11_RWC.OUT
|
||||
ECHO Starting S12_ALL as NOPASSUSER... >> C:\GRNTTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\GRNTEST\S12\S1 > C:\GRNTTMP\UNOV\S12_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\GRNTEST\S12\S1 > C:\GRNTTMP\UPUB\S12_ALL.OUT
|
||||
|
||||
:RELSUP
|
||||
C:
|
||||
CD \GRNTTMP
|
||||
LOGOUT > ULOG2.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOG
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\GRNTTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:HAVELOG
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\GRNTTMP\ULGSUP.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \GRNTSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or \GRNTSTA.BAT missing. >> C:\GRNTTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:QUEUEP2
|
||||
C:
|
||||
CD \GRNTTMP
|
||||
DLYSTRT /T:2 F:\GRNTSTA.BAT PART2
|
||||
GOTO END
|
||||
|
||||
:MANUAL
|
||||
ECHO Please run manually after SUPERVISOR login: >> C:\GRNTTMP\HELPER.TXT
|
||||
ECHO F: >> C:\GRNTTMP\HELPER.TXT
|
||||
ECHO CD \ >> C:\GRNTTMP\HELPER.TXT
|
||||
ECHO GRNTSTA PART2 >> C:\GRNTTMP\HELPER.TXT
|
||||
|
||||
:END
|
||||
@@ -1,94 +1,491 @@
|
||||
@ECHO OFF
|
||||
REM GRNTSTA.BAT
|
||||
REM Automated GRANT baseline test for MARS NWE.
|
||||
REM Automated GRANT comparison test for MARS NWE.
|
||||
REM
|
||||
REM Run as SUPERVISOR or a user with Access Control on F:\GRNTEST.
|
||||
REM Uses \NPUBLIC\GRANT as Novell baseline for currently implemented tool behavior.
|
||||
REM Direct mode:
|
||||
REM OUT = Novell baseline using \NPUBLIC\GRANT
|
||||
REM PUBOUT = our implementation using \PUBLIC\GRANT
|
||||
REM
|
||||
REM Result tree:
|
||||
REM F:\GRNTCMP
|
||||
REM Test tree:
|
||||
REM F:\GRNTEST
|
||||
REM User-context mode:
|
||||
REM GRANT is run as SUPERVISOR against NOPASSUSER.
|
||||
REM DLYSTRT starts C:\GRNTTMP\GRNTC.BAT after this script exits.
|
||||
REM GRNTC logs in as NOPASSUSER and captures effective RIGHTS output.
|
||||
REM
|
||||
REM Optional automatic user-context mode requires:
|
||||
REM SET LGNTPWD=your-supervisor-password
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: GRNTSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST GRNTEST\NUL DELTREE /Y GRNTEST\*.*
|
||||
IF EXIST GRNTCMP\NUL DELTREE /Y GRNTCMP\*.*
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST GRNTEST\*.* DELTREE /Y GRNTEST
|
||||
IF EXIST GRNTCMP\*.* DELTREE /Y GRNTCMP
|
||||
IF EXIST C:\GRNTTMP\*.* DELTREE /Y C:\GRNTTMP
|
||||
|
||||
IF NOT EXIST GRNTEST\NUL MD GRNTEST
|
||||
IF NOT EXIST GRNTEST\ONE\NUL MD GRNTEST\ONE
|
||||
IF NOT EXIST GRNTEST\TREE\NUL MD GRNTEST\TREE
|
||||
IF NOT EXIST GRNTEST\TREE\SUB1\NUL MD GRNTEST\TREE\SUB1
|
||||
IF NOT EXIST GRNTEST\TREE\SUB2\NUL MD GRNTEST\TREE\SUB2
|
||||
IF NOT EXIST GRNTCMP\NUL MD GRNTCMP
|
||||
IF NOT EXIST GRNTCMP\OUT\NUL MD GRNTCMP\OUT
|
||||
IF NOT EXIST GRNTEST MD GRNTEST
|
||||
IF NOT EXIST GRNTCMP MD GRNTCMP
|
||||
IF NOT EXIST GRNTCMP\OUT MD GRNTCMP\OUT
|
||||
IF NOT EXIST GRNTCMP\PUBOUT MD GRNTCMP\PUBOUT
|
||||
IF NOT EXIST GRNTCMP\SETUP MD GRNTCMP\SETUP
|
||||
IF NOT EXIST C:\GRNTTMP MD C:\GRNTTMP
|
||||
IF NOT EXIST C:\GRNTTMP\UNOV MD C:\GRNTTMP\UNOV
|
||||
IF NOT EXIST C:\GRNTTMP\UPUB MD C:\GRNTTMP\UPUB
|
||||
IF NOT EXIST C:\GRNTTMP\USETUP MD C:\GRNTTMP\USETUP
|
||||
|
||||
ECHO GRANT ROOT FILE > F:\GRNTEST\ROOT.TXT
|
||||
ECHO GRANT ONE FILE > F:\GRNTEST\ONE\ONE.TXT
|
||||
ECHO GRANT TREE FILE > F:\GRNTEST\TREE\TROOT.TXT
|
||||
ECHO GRANT SUB1 FILE > F:\GRNTEST\TREE\SUB1\SUB1.TXT
|
||||
ECHO GRANT SUB2 FILE > F:\GRNTEST\TREE\SUB2\SUB2.TXT
|
||||
|
||||
ECHO GRNTSTA GRANT baseline test > F:\GRNTCMP\RUN.LOG
|
||||
ECHO Run this as SUPERVISOR or equivalent. >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO Captures \NPUBLIC\GRANT output against user MARIO. >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO GRNTSTA GRANT comparison test > F:\GRNTCMP\RUN.LOG
|
||||
ECHO OUT = Novell baseline with \NPUBLIC\GRANT >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO PUBOUT = our implementation with \PUBLIC\GRANT >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO User-context target: NOPASSUSER >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO. >> F:\GRNTCMP\RUN.LOG
|
||||
|
||||
ECHO === D01 usage/help === >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO Starting D01_HELP...
|
||||
\NPUBLIC\GRANT /? > F:\GRNTCMP\OUT\D01_HELP.OUT
|
||||
\PUBLIC\GRANT /? > F:\GRNTCMP\PUBOUT\D01_HELP.OUT
|
||||
ECHO Starting D02_NOAR...
|
||||
\NPUBLIC\GRANT > F:\GRNTCMP\OUT\D02_NOAR.OUT
|
||||
\PUBLIC\GRANT > F:\GRNTCMP\PUBOUT\D02_NOAR.OUT
|
||||
|
||||
ECHO === D02 no arguments === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT > F:\GRNTCMP\OUT\D02_NOARGS.OUT
|
||||
REM --- Setup matrix directories/files. ---
|
||||
IF NOT EXIST GRNTEST\G10 MD GRNTEST\G10
|
||||
ECHO G10_R > F:\GRNTEST\G10\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G11 MD GRNTEST\G11
|
||||
ECHO G11_W > F:\GRNTEST\G11\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G12 MD GRNTEST\G12
|
||||
ECHO G12_C > F:\GRNTEST\G12\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G13 MD GRNTEST\G13
|
||||
ECHO G13_E > F:\GRNTEST\G13\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G14 MD GRNTEST\G14
|
||||
ECHO G14_M > F:\GRNTEST\G14\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G15 MD GRNTEST\G15
|
||||
ECHO G15_F > F:\GRNTEST\G15\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G16 MD GRNTEST\G16
|
||||
ECHO G16_A > F:\GRNTEST\G16\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G17 MD GRNTEST\G17
|
||||
ECHO G17_S > F:\GRNTEST\G17\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G20 MD GRNTEST\G20
|
||||
ECHO G20_RF > F:\GRNTEST\G20\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G21 MD GRNTEST\G21
|
||||
ECHO G21_RW > F:\GRNTEST\G21\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G22 MD GRNTEST\G22
|
||||
ECHO G22_RWC > F:\GRNTEST\G22\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G23 MD GRNTEST\G23
|
||||
ECHO G23_RWCE > F:\GRNTEST\G23\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G24 MD GRNTEST\G24
|
||||
ECHO G24_RAL > F:\GRNTEST\G24\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G25 MD GRNTEST\G25
|
||||
ECHO G25_SAL > F:\GRNTEST\G25\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G26 MD GRNTEST\G26
|
||||
ECHO G26_ALL > F:\GRNTEST\G26\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G27 MD GRNTEST\G27
|
||||
ECHO G27_N > F:\GRNTEST\G27\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G30 MD GRNTEST\G30
|
||||
ECHO G30_RE > F:\GRNTEST\G30\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G31 MD GRNTEST\G31
|
||||
ECHO G31_RWF > F:\GRNTEST\G31\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G32 MD GRNTEST\G32
|
||||
ECHO G32_RCM > F:\GRNTEST\G32\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G33 MD GRNTEST\G33
|
||||
ECHO G33_RFA > F:\GRNTEST\G33\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G34 MD GRNTEST\G34
|
||||
ECHO G34_WCM > F:\GRNTEST\G34\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G35 MD GRNTEST\G35
|
||||
ECHO G35_EMF > F:\GRNTEST\G35\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G36 MD GRNTEST\G36
|
||||
ECHO G36_RMF > F:\GRNTEST\G36\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G37 MD GRNTEST\G37
|
||||
ECHO G37_REMA > F:\GRNTEST\G37\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G38 MD GRNTEST\G38
|
||||
ECHO G38_SR > F:\GRNTEST\G38\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G39 MD GRNTEST\G39
|
||||
ECHO G39_SRF > F:\GRNTEST\G39\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\G40 MD GRNTEST\G40
|
||||
ECHO G40_SWCM > F:\GRNTEST\G40\TEST.TXT
|
||||
IF NOT EXIST GRNTEST\F10 MD GRNTEST\F10
|
||||
ECHO F10_R > F:\GRNTEST\F10\T.TXT
|
||||
IF NOT EXIST GRNTEST\F11 MD GRNTEST\F11
|
||||
ECHO F11_RF > F:\GRNTEST\F11\T.TXT
|
||||
IF NOT EXIST GRNTEST\F12 MD GRNTEST\F12
|
||||
ECHO F12_RAL > F:\GRNTEST\F12\T.TXT
|
||||
IF NOT EXIST GRNTEST\F13 MD GRNTEST\F13
|
||||
ECHO F13_ALL > F:\GRNTEST\F13\T.TXT
|
||||
IF NOT EXIST GRNTEST\F14 MD GRNTEST\F14
|
||||
ECHO F14_N > F:\GRNTEST\F14\T.TXT
|
||||
IF NOT EXIST GRNTEST\F15 MD GRNTEST\F15
|
||||
ECHO F15_S > F:\GRNTEST\F15\T.TXT
|
||||
IF NOT EXIST GRNTEST\F16 MD GRNTEST\F16
|
||||
ECHO F16_SAL > F:\GRNTEST\F16\T.TXT
|
||||
IF NOT EXIST GRNTEST\S10 MD GRNTEST\S10
|
||||
IF NOT EXIST GRNTEST\S10\S1 MD GRNTEST\S10\S1
|
||||
IF NOT EXIST GRNTEST\S10\S2 MD GRNTEST\S10\S2
|
||||
ECHO S10_R > F:\GRNTEST\S10\S1\T.TXT
|
||||
IF NOT EXIST GRNTEST\S11 MD GRNTEST\S11
|
||||
IF NOT EXIST GRNTEST\S11\S1 MD GRNTEST\S11\S1
|
||||
IF NOT EXIST GRNTEST\S11\S2 MD GRNTEST\S11\S2
|
||||
ECHO S11_RWC > F:\GRNTEST\S11\S1\T.TXT
|
||||
IF NOT EXIST GRNTEST\S12 MD GRNTEST\S12
|
||||
IF NOT EXIST GRNTEST\S12\S1 MD GRNTEST\S12\S1
|
||||
IF NOT EXIST GRNTEST\S12\S2 MD GRNTEST\S12\S2
|
||||
ECHO S12_ALL > F:\GRNTEST\S12\S1\T.TXT
|
||||
|
||||
ECHO === D10 grant R F on directory === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D10_DIR_RF.OUT
|
||||
REM --- Direct GRANT output compare and leave PUBLIC state for user-context readback. ---
|
||||
ECHO Starting G10_R directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G10 > F:\GRNTCMP\SETUP\G10_RNREM.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\GRNTEST\G10 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G10 > F:\GRNTCMP\SETUP\G10_RPREM.OUT
|
||||
\PUBLIC\GRANT R FOR F:\GRNTEST\G10 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G10_R.OUT
|
||||
ECHO Starting G11_W directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G11 > F:\GRNTCMP\SETUP\G11_WNREM.OUT
|
||||
\NPUBLIC\GRANT W FOR F:\GRNTEST\G11 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G11_W.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G11 > F:\GRNTCMP\SETUP\G11_WPREM.OUT
|
||||
\PUBLIC\GRANT W FOR F:\GRNTEST\G11 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G11_W.OUT
|
||||
ECHO Starting G12_C directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G12 > F:\GRNTCMP\SETUP\G12_CNREM.OUT
|
||||
\NPUBLIC\GRANT C FOR F:\GRNTEST\G12 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G12_C.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G12 > F:\GRNTCMP\SETUP\G12_CPREM.OUT
|
||||
\PUBLIC\GRANT C FOR F:\GRNTEST\G12 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G12_C.OUT
|
||||
ECHO Starting G13_E directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G13 > F:\GRNTCMP\SETUP\G13_ENREM.OUT
|
||||
\NPUBLIC\GRANT E FOR F:\GRNTEST\G13 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G13_E.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G13 > F:\GRNTCMP\SETUP\G13_EPREM.OUT
|
||||
\PUBLIC\GRANT E FOR F:\GRNTEST\G13 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G13_E.OUT
|
||||
ECHO Starting G14_M directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G14 > F:\GRNTCMP\SETUP\G14_MNREM.OUT
|
||||
\NPUBLIC\GRANT M FOR F:\GRNTEST\G14 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G14_M.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G14 > F:\GRNTCMP\SETUP\G14_MPREM.OUT
|
||||
\PUBLIC\GRANT M FOR F:\GRNTEST\G14 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G14_M.OUT
|
||||
ECHO Starting G15_F directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G15 > F:\GRNTCMP\SETUP\G15_FNREM.OUT
|
||||
\NPUBLIC\GRANT F FOR F:\GRNTEST\G15 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G15_F.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G15 > F:\GRNTCMP\SETUP\G15_FPREM.OUT
|
||||
\PUBLIC\GRANT F FOR F:\GRNTEST\G15 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G15_F.OUT
|
||||
ECHO Starting G16_A directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G16 > F:\GRNTCMP\SETUP\G16_ANREM.OUT
|
||||
\NPUBLIC\GRANT A FOR F:\GRNTEST\G16 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G16_A.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G16 > F:\GRNTCMP\SETUP\G16_APREM.OUT
|
||||
\PUBLIC\GRANT A FOR F:\GRNTEST\G16 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G16_A.OUT
|
||||
ECHO Starting G17_S directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G17 > F:\GRNTCMP\SETUP\G17_SNREM.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\GRNTEST\G17 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G17_S.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G17 > F:\GRNTCMP\SETUP\G17_SPREM.OUT
|
||||
\PUBLIC\GRANT S FOR F:\GRNTEST\G17 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G17_S.OUT
|
||||
ECHO Starting G20_RF directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G20 > F:\GRNTCMP\SETUP\G20_RFNREM.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\G20 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G20_RF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G20 > F:\GRNTCMP\SETUP\G20_RFPREM.OUT
|
||||
\PUBLIC\GRANT R F FOR F:\GRNTEST\G20 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G20_RF.OUT
|
||||
ECHO Starting G21_RW directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G21 > F:\GRNTCMP\SETUP\G21_RWNREM.OUT
|
||||
\NPUBLIC\GRANT R W FOR F:\GRNTEST\G21 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G21_RW.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G21 > F:\GRNTCMP\SETUP\G21_RWPREM.OUT
|
||||
\PUBLIC\GRANT R W FOR F:\GRNTEST\G21 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G21_RW.OUT
|
||||
ECHO Starting G22_RWC directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G22 > F:\GRNTCMP\SETUP\G22_RWCNREM.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\GRNTEST\G22 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G22_RWC.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G22 > F:\GRNTCMP\SETUP\G22_RWCPREM.OUT
|
||||
\PUBLIC\GRANT R W C FOR F:\GRNTEST\G22 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G22_RWC.OUT
|
||||
ECHO Starting G23_RWCE directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G23 > F:\GRNTCMP\SETUP\G23_RWCENREM.OUT
|
||||
\NPUBLIC\GRANT R W C E FOR F:\GRNTEST\G23 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G23_RWCE.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G23 > F:\GRNTCMP\SETUP\G23_RWCEPREM.OUT
|
||||
\PUBLIC\GRANT R W C E FOR F:\GRNTEST\G23 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G23_RWCE.OUT
|
||||
ECHO Starting G24_RAL directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G24 > F:\GRNTCMP\SETUP\G24_RALNREM.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\G24 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G24_RAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G24 > F:\GRNTCMP\SETUP\G24_RALPREM.OUT
|
||||
\PUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\G24 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G24_RAL.OUT
|
||||
ECHO Starting G25_SAL directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G25 > F:\GRNTCMP\SETUP\G25_SALNREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\GRNTEST\G25 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G25_SAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G25 > F:\GRNTCMP\SETUP\G25_SALPREM.OUT
|
||||
\PUBLIC\GRANT S R W C E M F A FOR F:\GRNTEST\G25 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G25_SAL.OUT
|
||||
ECHO Starting G26_ALL directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G26 > F:\GRNTCMP\SETUP\G26_ALLNREM.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\GRNTEST\G26 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G26_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G26 > F:\GRNTCMP\SETUP\G26_ALLPREM.OUT
|
||||
\PUBLIC\GRANT ALL FOR F:\GRNTEST\G26 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G26_ALL.OUT
|
||||
ECHO Starting G27_N directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G27 > F:\GRNTCMP\SETUP\G27_NNREM.OUT
|
||||
\NPUBLIC\GRANT N FOR F:\GRNTEST\G27 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G27_N.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G27 > F:\GRNTCMP\SETUP\G27_NPREM.OUT
|
||||
\PUBLIC\GRANT N FOR F:\GRNTEST\G27 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G27_N.OUT
|
||||
ECHO Starting G30_RE directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G30 > F:\GRNTCMP\SETUP\G30_RENREM.OUT
|
||||
\NPUBLIC\GRANT R E FOR F:\GRNTEST\G30 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G30_RE.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G30 > F:\GRNTCMP\SETUP\G30_REPREM.OUT
|
||||
\PUBLIC\GRANT R E FOR F:\GRNTEST\G30 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G30_RE.OUT
|
||||
ECHO Starting G31_RWF directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G31 > F:\GRNTCMP\SETUP\G31_RWFNREM.OUT
|
||||
\NPUBLIC\GRANT R W F FOR F:\GRNTEST\G31 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G31_RWF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G31 > F:\GRNTCMP\SETUP\G31_RWFPREM.OUT
|
||||
\PUBLIC\GRANT R W F FOR F:\GRNTEST\G31 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G31_RWF.OUT
|
||||
ECHO Starting G32_RCM directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G32 > F:\GRNTCMP\SETUP\G32_RCMNREM.OUT
|
||||
\NPUBLIC\GRANT R C M FOR F:\GRNTEST\G32 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G32_RCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G32 > F:\GRNTCMP\SETUP\G32_RCMPREM.OUT
|
||||
\PUBLIC\GRANT R C M FOR F:\GRNTEST\G32 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G32_RCM.OUT
|
||||
ECHO Starting G33_RFA directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G33 > F:\GRNTCMP\SETUP\G33_RFANREM.OUT
|
||||
\NPUBLIC\GRANT R F A FOR F:\GRNTEST\G33 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G33_RFA.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G33 > F:\GRNTCMP\SETUP\G33_RFAPREM.OUT
|
||||
\PUBLIC\GRANT R F A FOR F:\GRNTEST\G33 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G33_RFA.OUT
|
||||
ECHO Starting G34_WCM directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G34 > F:\GRNTCMP\SETUP\G34_WCMNREM.OUT
|
||||
\NPUBLIC\GRANT W C M FOR F:\GRNTEST\G34 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G34_WCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G34 > F:\GRNTCMP\SETUP\G34_WCMPREM.OUT
|
||||
\PUBLIC\GRANT W C M FOR F:\GRNTEST\G34 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G34_WCM.OUT
|
||||
ECHO Starting G35_EMF directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G35 > F:\GRNTCMP\SETUP\G35_EMFNREM.OUT
|
||||
\NPUBLIC\GRANT E M F FOR F:\GRNTEST\G35 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G35_EMF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G35 > F:\GRNTCMP\SETUP\G35_EMFPREM.OUT
|
||||
\PUBLIC\GRANT E M F FOR F:\GRNTEST\G35 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G35_EMF.OUT
|
||||
ECHO Starting G36_RMF directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G36 > F:\GRNTCMP\SETUP\G36_RMFNREM.OUT
|
||||
\NPUBLIC\GRANT R W C M F FOR F:\GRNTEST\G36 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G36_RMF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G36 > F:\GRNTCMP\SETUP\G36_RMFPREM.OUT
|
||||
\PUBLIC\GRANT R W C M F FOR F:\GRNTEST\G36 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G36_RMF.OUT
|
||||
ECHO Starting G37_REMA directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G37 > F:\GRNTCMP\SETUP\G37_REMANREM.OUT
|
||||
\NPUBLIC\GRANT R E M A FOR F:\GRNTEST\G37 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G37_REMA.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G37 > F:\GRNTCMP\SETUP\G37_REMAPREM.OUT
|
||||
\PUBLIC\GRANT R E M A FOR F:\GRNTEST\G37 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G37_REMA.OUT
|
||||
ECHO Starting G38_SR directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G38 > F:\GRNTCMP\SETUP\G38_SRNREM.OUT
|
||||
\NPUBLIC\GRANT S R FOR F:\GRNTEST\G38 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G38_SR.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G38 > F:\GRNTCMP\SETUP\G38_SRPREM.OUT
|
||||
\PUBLIC\GRANT S R FOR F:\GRNTEST\G38 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G38_SR.OUT
|
||||
ECHO Starting G39_SRF directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G39 > F:\GRNTCMP\SETUP\G39_SRFNREM.OUT
|
||||
\NPUBLIC\GRANT S R F FOR F:\GRNTEST\G39 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G39_SRF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G39 > F:\GRNTCMP\SETUP\G39_SRFPREM.OUT
|
||||
\PUBLIC\GRANT S R F FOR F:\GRNTEST\G39 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G39_SRF.OUT
|
||||
ECHO Starting G40_SWCM directory grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G40 > F:\GRNTCMP\SETUP\G40_SWCMNREM.OUT
|
||||
\NPUBLIC\GRANT S W C M FOR F:\GRNTEST\G40 TO USER NOPASSUSER > F:\GRNTCMP\OUT\G40_SWCM.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\G40 > F:\GRNTCMP\SETUP\G40_SWCMPREM.OUT
|
||||
\PUBLIC\GRANT S W C M FOR F:\GRNTEST\G40 TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\G40_SWCM.OUT
|
||||
ECHO Starting F10_R file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F10\T.TXT /FILES > F:\GRNTCMP\SETUP\F10_RNREM.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\GRNTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F10\T.TXT /FILES > F:\GRNTCMP\SETUP\F10_RPREM.OUT
|
||||
\PUBLIC\GRANT R FOR F:\GRNTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F10_R.OUT
|
||||
ECHO Starting F11_RF file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F11\T.TXT /FILES > F:\GRNTCMP\SETUP\F11_RFNREM.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F11_RF.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F11\T.TXT /FILES > F:\GRNTCMP\SETUP\F11_RFPREM.OUT
|
||||
\PUBLIC\GRANT R F FOR F:\GRNTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F11_RF.OUT
|
||||
ECHO Starting F12_RAL file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F12\T.TXT /FILES > F:\GRNTCMP\SETUP\F12_RALNREM.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F12_RAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F12\T.TXT /FILES > F:\GRNTCMP\SETUP\F12_RALPREM.OUT
|
||||
\PUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F12_RAL.OUT
|
||||
ECHO Starting F13_ALL file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F13\T.TXT /FILES > F:\GRNTCMP\SETUP\F13_ALLNREM.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\GRNTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F13_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F13\T.TXT /FILES > F:\GRNTCMP\SETUP\F13_ALLPREM.OUT
|
||||
\PUBLIC\GRANT ALL FOR F:\GRNTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F13_ALL.OUT
|
||||
ECHO Starting F14_N file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F14\T.TXT /FILES > F:\GRNTCMP\SETUP\F14_NNREM.OUT
|
||||
\NPUBLIC\GRANT N FOR F:\GRNTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F14_N.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F14\T.TXT /FILES > F:\GRNTCMP\SETUP\F14_NPREM.OUT
|
||||
\PUBLIC\GRANT N FOR F:\GRNTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F14_N.OUT
|
||||
ECHO Starting F15_S file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F15\T.TXT /FILES > F:\GRNTCMP\SETUP\F15_SNREM.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\GRNTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F15_S.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F15\T.TXT /FILES > F:\GRNTCMP\SETUP\F15_SPREM.OUT
|
||||
\PUBLIC\GRANT S FOR F:\GRNTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F15_S.OUT
|
||||
ECHO Starting F16_SAL file grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F16\T.TXT /FILES > F:\GRNTCMP\SETUP\F16_SALNREM.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\GRNTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\OUT\F16_SAL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\F16\T.TXT /FILES > F:\GRNTCMP\SETUP\F16_SALPREM.OUT
|
||||
\PUBLIC\GRANT S R W C E M F A FOR F:\GRNTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\GRNTCMP\PUBOUT\F16_SAL.OUT
|
||||
ECHO Starting S10_R subdir grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S10 /SUBDIRS > F:\GRNTCMP\SETUP\S10_RNREM.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\GRNTEST\S10 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\OUT\S10_R.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S10 /SUBDIRS > F:\GRNTCMP\SETUP\S10_RPREM.OUT
|
||||
\PUBLIC\GRANT R FOR F:\GRNTEST\S10 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\PUBOUT\S10_R.OUT
|
||||
ECHO Starting S11_RWC subdir grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S11 /SUBDIRS > F:\GRNTCMP\SETUP\S11_RWCNREM.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\GRNTEST\S11 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\OUT\S11_RWC.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S11 /SUBDIRS > F:\GRNTCMP\SETUP\S11_RWCPREM.OUT
|
||||
\PUBLIC\GRANT R W C FOR F:\GRNTEST\S11 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\PUBOUT\S11_RWC.OUT
|
||||
ECHO Starting S12_ALL subdir grant...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S12 /SUBDIRS > F:\GRNTCMP\SETUP\S12_ALLNREM.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\GRNTEST\S12 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\OUT\S12_ALL.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\GRNTEST\S12 /SUBDIRS > F:\GRNTCMP\SETUP\S12_ALLPREM.OUT
|
||||
\PUBLIC\GRANT ALL FOR F:\GRNTEST\S12 TO USER NOPASSUSER /SUBDIRECTORIES > F:\GRNTCMP\PUBOUT\S12_ALL.OUT
|
||||
|
||||
ECHO === D11 grant R W C E M F A on directory === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D11_DIR_ALL_LETTERS.OUT
|
||||
ECHO Starting D90_BADR...
|
||||
\NPUBLIC\GRANT BADRIGHT FOR F:\GRNTEST TO USER NOPASSUSER > F:\GRNTCMP\OUT\D90_BADR.OUT
|
||||
\PUBLIC\GRANT BADRIGHT FOR F:\GRNTEST TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\D90_BADR.OUT
|
||||
ECHO Starting D91_MISU...
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST TO USER NO_SUCH_USER > F:\GRNTCMP\OUT\D91_MISU.OUT
|
||||
\PUBLIC\GRANT R F FOR F:\GRNTEST TO USER NO_SUCH_USER > F:\GRNTCMP\PUBOUT\D91_MISU.OUT
|
||||
ECHO Starting D92_MISP...
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\MISSING TO USER NOPASSUSER > F:\GRNTCMP\OUT\D92_MISP.OUT
|
||||
\PUBLIC\GRANT R F FOR F:\GRNTEST\MISSING TO USER NOPASSUSER > F:\GRNTCMP\PUBOUT\D92_MISP.OUT
|
||||
ECHO Starting D93_GRAM...
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST NOPASSUSER > F:\GRNTCMP\OUT\D93_GRAM.OUT
|
||||
\PUBLIC\GRANT R F FOR F:\GRNTEST NOPASSUSER > F:\GRNTCMP\PUBOUT\D93_GRAM.OUT
|
||||
|
||||
ECHO === D12 grant ALL alias on root directory === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT ALL FOR F:\GRNTEST TO USER MARIO > F:\GRNTCMP\OUT\D12_DIR_ALL_ALIAS.OUT
|
||||
ECHO === COMPARE NOVELL OUT AGAINST PUBLIC OUT === > F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D01_HELP.OUT F:\GRNTCMP\PUBOUT\D01_HELP.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D02_NOAR.OUT F:\GRNTCMP\PUBOUT\D02_NOAR.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G10_R.OUT F:\GRNTCMP\PUBOUT\G10_R.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G11_W.OUT F:\GRNTCMP\PUBOUT\G11_W.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G12_C.OUT F:\GRNTCMP\PUBOUT\G12_C.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G13_E.OUT F:\GRNTCMP\PUBOUT\G13_E.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G14_M.OUT F:\GRNTCMP\PUBOUT\G14_M.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G15_F.OUT F:\GRNTCMP\PUBOUT\G15_F.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G16_A.OUT F:\GRNTCMP\PUBOUT\G16_A.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G17_S.OUT F:\GRNTCMP\PUBOUT\G17_S.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G20_RF.OUT F:\GRNTCMP\PUBOUT\G20_RF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G21_RW.OUT F:\GRNTCMP\PUBOUT\G21_RW.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G22_RWC.OUT F:\GRNTCMP\PUBOUT\G22_RWC.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G23_RWCE.OUT F:\GRNTCMP\PUBOUT\G23_RWCE.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G24_RAL.OUT F:\GRNTCMP\PUBOUT\G24_RAL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G25_SAL.OUT F:\GRNTCMP\PUBOUT\G25_SAL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G26_ALL.OUT F:\GRNTCMP\PUBOUT\G26_ALL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G27_N.OUT F:\GRNTCMP\PUBOUT\G27_N.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G30_RE.OUT F:\GRNTCMP\PUBOUT\G30_RE.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G31_RWF.OUT F:\GRNTCMP\PUBOUT\G31_RWF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G32_RCM.OUT F:\GRNTCMP\PUBOUT\G32_RCM.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G33_RFA.OUT F:\GRNTCMP\PUBOUT\G33_RFA.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G34_WCM.OUT F:\GRNTCMP\PUBOUT\G34_WCM.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G35_EMF.OUT F:\GRNTCMP\PUBOUT\G35_EMF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G36_RMF.OUT F:\GRNTCMP\PUBOUT\G36_RMF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G37_REMA.OUT F:\GRNTCMP\PUBOUT\G37_REMA.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G38_SR.OUT F:\GRNTCMP\PUBOUT\G38_SR.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G39_SRF.OUT F:\GRNTCMP\PUBOUT\G39_SRF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\G40_SWCM.OUT F:\GRNTCMP\PUBOUT\G40_SWCM.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F10_R.OUT F:\GRNTCMP\PUBOUT\F10_R.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F11_RF.OUT F:\GRNTCMP\PUBOUT\F11_RF.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F12_RAL.OUT F:\GRNTCMP\PUBOUT\F12_RAL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F13_ALL.OUT F:\GRNTCMP\PUBOUT\F13_ALL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F14_N.OUT F:\GRNTCMP\PUBOUT\F14_N.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F15_S.OUT F:\GRNTCMP\PUBOUT\F15_S.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\F16_SAL.OUT F:\GRNTCMP\PUBOUT\F16_SAL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\S10_R.OUT F:\GRNTCMP\PUBOUT\S10_R.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\S11_RWC.OUT F:\GRNTCMP\PUBOUT\S11_RWC.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\S12_ALL.OUT F:\GRNTCMP\PUBOUT\S12_ALL.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D90_BADR.OUT F:\GRNTCMP\PUBOUT\D90_BADR.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D91_MISU.OUT F:\GRNTCMP\PUBOUT\D91_MISU.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D92_MISP.OUT F:\GRNTCMP\PUBOUT\D92_MISP.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
FC F:\GRNTCMP\OUT\D93_GRAM.OUT F:\GRNTCMP\PUBOUT\D93_GRAM.OUT >> F:\GRNTCMP\COMPARE.LOG
|
||||
|
||||
ECHO === D13 grant N / no rights on directory === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT N FOR F:\GRNTEST\ONE TO USER MARIO > F:\GRNTCMP\OUT\D13_DIR_N.OUT
|
||||
IF "%LGNTPWD%"=="" GOTO NOUSER
|
||||
IF NOT EXIST \PUBLIC\DLYSTRT.EXE GOTO NODLY
|
||||
|
||||
ECHO === D20 grant R F recursively to subdirectories === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\TREE TO USER MARIO /SUBDIRECTORIES > F:\GRNTCMP\OUT\D20_SUBDIRS_RF.OUT
|
||||
COPY \PUBLIC\DLYSTRT.EXE C:\GRNTTMP > NUL
|
||||
COPY F:\GRNTC.BAT C:\GRNTTMP\GRNTC.BAT > NUL
|
||||
C:
|
||||
CD \GRNTTMP
|
||||
DLYSTRT /T:2 GRNTC.BAT
|
||||
GOTO STARTED
|
||||
|
||||
ECHO === D21 grant R F on one file using /FILES === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\ONE\ONE.TXT TO USER MARIO /FILES > F:\GRNTCMP\OUT\D21_FILE_RF.OUT
|
||||
:NOUSER
|
||||
ECHO LGNTPWD is not set. User-context part skipped. >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO.
|
||||
ECHO LGNTPWD ist nicht gesetzt. User-context part skipped.
|
||||
ECHO Fuer User-Kontext zuerst setzen:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
GOTO SUMMARY
|
||||
|
||||
ECHO === D30 relative path from F:\GRNTEST === >> F:\GRNTCMP\RUN.LOG
|
||||
CD \GRNTEST
|
||||
\NPUBLIC\GRANT R F FOR ONE TO USER MARIO > F:\GRNTCMP\OUT\D30_REL_DIR_RF.OUT
|
||||
:NODLY
|
||||
ECHO \PUBLIC\DLYSTRT.EXE not found. User-context part skipped. >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO.
|
||||
ECHO \PUBLIC\DLYSTRT.EXE nicht gefunden. User-context part skipped.
|
||||
GOTO SUMMARY
|
||||
|
||||
:STARTED
|
||||
ECHO GRNTC queued via DLYSTRT. >> F:\GRNTCMP\RUN.LOG
|
||||
ECHO.
|
||||
ECHO GRNTC wurde via DLYSTRT gestartet.
|
||||
ECHO Nach automatischem Re-Login wird GRNTSTA PART2 gestartet.
|
||||
GOTO END
|
||||
|
||||
:SUMMARY
|
||||
ECHO === SUMMARY === > F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO GRNTSTA GRANT direct comparison finished. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO User-context part was skipped. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO Optional: GRNTZIP ausfuehren. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO GRNTSTA direct part finished.
|
||||
ECHO Optional: GRNTZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST GRNTCMP MD GRNTCMP
|
||||
IF NOT EXIST GRNTCMP\UNOV MD GRNTCMP\UNOV
|
||||
IF NOT EXIST GRNTCMP\UPUB MD GRNTCMP\UPUB
|
||||
IF NOT EXIST GRNTCMP\USETUP MD GRNTCMP\USETUP
|
||||
|
||||
ECHO === D90 invalid right === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT BADRIGHT FOR F:\GRNTEST TO USER MARIO > F:\GRNTCMP\OUT\D90_BAD_RIGHT.OUT
|
||||
COPY C:\GRNTTMP\UNOV\*.OUT F:\GRNTCMP\UNOV > NUL
|
||||
COPY C:\GRNTTMP\UPUB\*.OUT F:\GRNTCMP\UPUB > NUL
|
||||
COPY C:\GRNTTMP\USETUP\*.OUT F:\GRNTCMP\USETUP > NUL
|
||||
IF EXIST C:\GRNTTMP\HELPER.TXT COPY C:\GRNTTMP\HELPER.TXT F:\GRNTCMP\HELPER.TXT > NUL
|
||||
IF EXIST C:\GRNTTMP\ULOG1.OUT COPY C:\GRNTTMP\ULOG1.OUT F:\GRNTCMP\ULOG1.OUT > NUL
|
||||
IF EXIST C:\GRNTTMP\ULOGIN.OUT COPY C:\GRNTTMP\ULOGIN.OUT F:\GRNTCMP\ULOGIN.OUT > NUL
|
||||
IF EXIST C:\GRNTTMP\ULOG2.OUT COPY C:\GRNTTMP\ULOG2.OUT F:\GRNTCMP\ULOG2.OUT > NUL
|
||||
IF EXIST C:\GRNTTMP\ULGSUP.OUT COPY C:\GRNTTMP\ULGSUP.OUT F:\GRNTCMP\ULGSUP.OUT > NUL
|
||||
|
||||
ECHO === D91 missing user === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST TO USER NO_SUCH_USER > F:\GRNTCMP\OUT\D91_MISSING_USER.OUT
|
||||
|
||||
ECHO === D92 missing path === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST\MISSING TO USER MARIO > F:\GRNTCMP\OUT\D92_MISSING_PATH.OUT
|
||||
|
||||
ECHO === D93 bad grammar / missing TO === >> F:\GRNTCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\GRNTEST MARIO > F:\GRNTCMP\OUT\D93_BAD_GRAMMAR.OUT
|
||||
ECHO === COMPARE NOPASSUSER NOVELL RIGHTS AGAINST PUBLIC RIGHTS === > F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G10_R.OUT F:\GRNTCMP\UPUB\G10_R.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G11_W.OUT F:\GRNTCMP\UPUB\G11_W.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G12_C.OUT F:\GRNTCMP\UPUB\G12_C.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G13_E.OUT F:\GRNTCMP\UPUB\G13_E.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G14_M.OUT F:\GRNTCMP\UPUB\G14_M.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G15_F.OUT F:\GRNTCMP\UPUB\G15_F.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G16_A.OUT F:\GRNTCMP\UPUB\G16_A.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G17_S.OUT F:\GRNTCMP\UPUB\G17_S.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G20_RF.OUT F:\GRNTCMP\UPUB\G20_RF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G21_RW.OUT F:\GRNTCMP\UPUB\G21_RW.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G22_RWC.OUT F:\GRNTCMP\UPUB\G22_RWC.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G23_RWCE.OUT F:\GRNTCMP\UPUB\G23_RWCE.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G24_RAL.OUT F:\GRNTCMP\UPUB\G24_RAL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G25_SAL.OUT F:\GRNTCMP\UPUB\G25_SAL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G26_ALL.OUT F:\GRNTCMP\UPUB\G26_ALL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G27_N.OUT F:\GRNTCMP\UPUB\G27_N.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G30_RE.OUT F:\GRNTCMP\UPUB\G30_RE.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G31_RWF.OUT F:\GRNTCMP\UPUB\G31_RWF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G32_RCM.OUT F:\GRNTCMP\UPUB\G32_RCM.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G33_RFA.OUT F:\GRNTCMP\UPUB\G33_RFA.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G34_WCM.OUT F:\GRNTCMP\UPUB\G34_WCM.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G35_EMF.OUT F:\GRNTCMP\UPUB\G35_EMF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G36_RMF.OUT F:\GRNTCMP\UPUB\G36_RMF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G37_REMA.OUT F:\GRNTCMP\UPUB\G37_REMA.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G38_SR.OUT F:\GRNTCMP\UPUB\G38_SR.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G39_SRF.OUT F:\GRNTCMP\UPUB\G39_SRF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\G40_SWCM.OUT F:\GRNTCMP\UPUB\G40_SWCM.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F10_R.OUT F:\GRNTCMP\UPUB\F10_R.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F11_RF.OUT F:\GRNTCMP\UPUB\F11_RF.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F12_RAL.OUT F:\GRNTCMP\UPUB\F12_RAL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F13_ALL.OUT F:\GRNTCMP\UPUB\F13_ALL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F14_N.OUT F:\GRNTCMP\UPUB\F14_N.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F15_S.OUT F:\GRNTCMP\UPUB\F15_S.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\F16_SAL.OUT F:\GRNTCMP\UPUB\F16_SAL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\S10_R.OUT F:\GRNTCMP\UPUB\S10_R.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\S11_RWC.OUT F:\GRNTCMP\UPUB\S11_RWC.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
FC F:\GRNTCMP\UNOV\S12_ALL.OUT F:\GRNTCMP\UPUB\S12_ALL.OUT >> F:\GRNTCMP\UCOMP.LOG
|
||||
|
||||
ECHO === SUMMARY === > F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO GRNTSTA GRANT baseline finished. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO GRNTSTA GRANT comparison finished. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO Expected: >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO - D10-D13 capture directory grant formatting and right aliases. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO - D20 captures /SUBDIRECTORIES behavior. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO - D21 captures /FILES behavior for a file path. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO - D30 captures relative path behavior with absolute \NPUBLIC\GRANT invocation. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO - D90-D93 capture error/grammar cases. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO Direct mode: OUT vs PUBOUT compares GRANT output. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO User mode: UNOV vs UPUB compares effective RIGHTS as NOPASSUSER. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
ECHO Optional: GRNTZIP ausfuehren. >> F:\GRNTCMP\SUMMARY.TXT
|
||||
|
||||
ECHO GRNTSTA fertig.
|
||||
ECHO Ergebnisse liegen in F:\GRNTCMP
|
||||
ECHO GRNTSTA PART2 fertig.
|
||||
ECHO Optional: GRNTZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
@ECHO OFF
|
||||
REM GRNTZIP.BAT
|
||||
REM Optional packer for GRNTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \GRNTCMP
|
||||
|
||||
IF EXIST GRNTSTA.ZIP DEL GRNTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating GRNTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r GRNTSTA.ZIP RUN.LOG SUMMARY.TXT OUT >> ZIP.LOG
|
||||
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \GRNTEST\NUL DELTREE /Y \GRNTEST >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\GRNTCMP\GRNTSTA.ZIP
|
||||
ECHO F:\GRNTCMP\ZIP.LOG
|
||||
ECHO.
|
||||
@ECHO OFF
|
||||
REM GRNTZIP.BAT
|
||||
REM Optional packer for GRNTSTA result files.
|
||||
REM Requires ZIP.EXE in PATH or current directory.
|
||||
|
||||
F:
|
||||
CD \GRNTCMP
|
||||
|
||||
IF EXIST GRNTSTA.ZIP DEL GRNTSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating GRNTSTA.ZIP > ZIP.LOG
|
||||
ZIP -r GRNTSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT ULOG1.OUT ULOGIN.OUT ULOG2.OUT ULGSUP.OUT OUT PUBOUT SETUP UNOV UPUB USETUP >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \GRNTEST\NUL DELTREE /Y \GRNTEST >> ZIP.LOG
|
||||
IF EXIST C:\GRNTTMP\NUL DELTREE /Y C:\GRNTTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
ECHO Check:
|
||||
ECHO F:\GRNTCMP\GRNTSTA.ZIP
|
||||
ECHO F:\GRNTCMP\ZIP.LOG
|
||||
ECHO.
|
||||
|
||||
@@ -1,19 +1,42 @@
|
||||
# GRANT baseline test
|
||||
|
||||
Scripts:
|
||||
|
||||
- `GRNTSTA.BAT` creates `F:\GRNTEST`, captures Novell `\NPUBLIC\GRANT` output into `F:\GRNTCMP\OUT`, and uses user `MARIO` as trustee target.
|
||||
- `GRNTZIP.BAT` packages `RUN.LOG`, `SUMMARY.TXT`, and `OUT` as `F:\GRNTCMP\GRNTSTA.ZIP`.
|
||||
|
||||
Run as `SUPERVISOR` or an equivalent user with Access Control rights on `F:\GRNTEST`.
|
||||
|
||||
Covered cases:
|
||||
|
||||
- help and no-argument grammar
|
||||
- directory grants with explicit rights, `ALL`, and `N`
|
||||
- `/SUBDIRECTORIES`
|
||||
- `/FILES` on an explicit file
|
||||
- relative path invocation from inside the test directory while invoking `\NPUBLIC\GRANT` absolutely
|
||||
- invalid right, missing user, missing path, and bad grammar
|
||||
|
||||
This test is still Novell-baseline-only. Later comparison scripts should run the same command set through `NPUBLIC` and `PUBLIC` with normalized output.
|
||||
# GRANT comparison test
|
||||
|
||||
Scripts:
|
||||
|
||||
- `GRNTSTA.BAT` creates `F:\GRNTEST`, compares Novell `\NPUBLIC\GRANT`
|
||||
output against `\PUBLIC\GRANT`, and uses `NOPASSUSER` as trustee target.
|
||||
- `GRNTC.BAT` is the delayed user-context helper started through `DLYSTRT`.
|
||||
It logs in as `NOPASSUSER` and captures effective `RIGHTS` output for the
|
||||
grants prepared by `GRNTSTA`.
|
||||
- `GRNTZIP.BAT` packages the result tree as `F:\GRNTCMP\GRNTSTA.ZIP`.
|
||||
|
||||
Run as `SUPERVISOR` or an equivalent user.
|
||||
|
||||
For the automatic user-context part, set the Supervisor password first:
|
||||
|
||||
```bat
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
GRNTSTA
|
||||
```
|
||||
|
||||
Result directories:
|
||||
|
||||
- `OUT` contains Novell `GRANT` output.
|
||||
- `PUBOUT` contains public implementation `GRANT` output.
|
||||
- `COMPARE.LOG` compares `OUT` against `PUBOUT`.
|
||||
- `UNOV` contains Novell `RIGHTS` output captured as `NOPASSUSER`.
|
||||
- `UPUB` contains public implementation `RIGHTS` output captured as `NOPASSUSER`.
|
||||
- `UCOMP.LOG` compares `UNOV` against `UPUB`.
|
||||
- `SETUP` and `USETUP` contain setup/cleanup command output.
|
||||
|
||||
Covered grant cases:
|
||||
|
||||
- single rights: `R`, `W`, `C`, `E`, `M`, `F`, `A`, `S`
|
||||
- combinations: `R F`, `R W`, `R W C`, `R W C E`,
|
||||
`R W C E M F A`, `S R W C E M F A`, `ALL`, `N`
|
||||
- mixed combinations: `R E`, `R W F`, `R C M`, `R F A`,
|
||||
`W C M`, `E M F`, `R W C M F`, `R E M A`, `S R`, `S R F`, `S W C M`
|
||||
- file trustee cases with `/FILES`
|
||||
- recursive directory cases with `/SUBDIRECTORIES`
|
||||
- help, no-argument and error/grammar cases
|
||||
|
||||
`GRNTZIP` remains manual so the result tree can be inspected before packaging.
|
||||
|
||||
@@ -1,46 +1,38 @@
|
||||
# REMOVE baseline test
|
||||
# REMOVE comparison test
|
||||
|
||||
`RMVSTA.BAT` captures Novell `\NPUBLIC\REMOVE` behavior for trustee removal.
|
||||
`RMVSTA.BAT` compares Novell `\NPUBLIC\REMOVE` against the public implementation `\PUBLIC\REMOVE`.
|
||||
|
||||
Run as `SUPERVISOR` or a user with Access Control rights:
|
||||
Run as `SUPERVISOR` or equivalent. The automatic NOPASSUSER readback needs the maintainer `LOGIN /PWD:` support and `DLYSTRT`:
|
||||
|
||||
```bat
|
||||
SET LGNTPWD=your-supervisor-password
|
||||
F:
|
||||
CD \
|
||||
RMVSTA
|
||||
```
|
||||
|
||||
`RMVSTA` performs a direct comparison first:
|
||||
|
||||
```text
|
||||
F:\RMVCMP\OUT Novell baseline with \NPUBLIC\REMOVE
|
||||
F:\RMVCMP\PUBOUT public implementation with \PUBLIC\REMOVE
|
||||
F:\RMVCMP\COMPARE.LOG
|
||||
```
|
||||
|
||||
Then it starts `C:\RMVTMP\RMVC.BAT` through `DLYSTRT`. The helper logs in as `NOPASSUSER` and captures effective-rights readback after the public REMOVE operations:
|
||||
|
||||
```text
|
||||
F:\RMVCMP\UNOV \NPUBLIC\RIGHTS as NOPASSUSER
|
||||
F:\RMVCMP\UPUB \PUBLIC\RIGHTS as NOPASSUSER
|
||||
F:\RMVCMP\UCOMP.LOG
|
||||
```
|
||||
|
||||
The matrix covers single trustee rights, mixed rights, `S`, `ALL`, `N`, file trustees with `/FILES`, and recursive removal with `/SUBDIRS`.
|
||||
|
||||
`RMVZIP.BAT` is intentionally manual. Run it after inspecting the results:
|
||||
|
||||
```bat
|
||||
RMVZIP
|
||||
```
|
||||
|
||||
Result directory:
|
||||
|
||||
```text
|
||||
F:\RMVCMP
|
||||
```
|
||||
|
||||
Test directory:
|
||||
|
||||
```text
|
||||
F:\RMVTEST
|
||||
```
|
||||
|
||||
The setup uses `\NPUBLIC\GRANT` to create trustees for user `MARIO`, then runs `\NPUBLIC\REMOVE` for the baseline.
|
||||
|
||||
Note: Novell `REMOVE` help names the recursive option `/Subdirs`; this test uses `/SUBDIRS`, not `/SUBDIRECTORIES`.
|
||||
|
||||
Captured cases:
|
||||
|
||||
- `D01` help / usage
|
||||
- `D02` no arguments
|
||||
- `D10` remove `USER MARIO` from a directory
|
||||
- `D11` remove `MARIO` without the explicit `USER` keyword
|
||||
- `D20` `/SUBDIRS`
|
||||
- `D21` `/FILES` on an explicit file
|
||||
- `D22` `/FILES` on all files in a directory
|
||||
- `D30` relative path from `F:\RMVTEST`
|
||||
- `D90` no trustee
|
||||
- `D91` missing user
|
||||
- `D92` missing path
|
||||
- `D93` `/FILES` and `/SUBDIRS` together
|
||||
- `D94` bad grammar
|
||||
|
||||
`RMVZIP.BAT` packages `RUN.LOG`, `SUMMARY.TXT`, `OUT`, and `SETUP`, then removes the generated `F:\RMVTEST` tree so the SYS root does not accumulate test directories.
|
||||
The ZIP step packages `OUT`, `PUBOUT`, `UNOV`, `UPUB`, setup logs, comparison logs, and then removes the generated `F:\RMVTEST` and `C:\RMVTMP` trees.
|
||||
|
||||
168
test/remove/RMVC.BAT
Normal file
168
test/remove/RMVC.BAT
Normal file
@@ -0,0 +1,168 @@
|
||||
@ECHO OFF
|
||||
REM RMVC.BAT - delayed user-context REMOVE readback helper.
|
||||
REM Started by RMVSTA via DLYSTRT. Runs from C:\RMVTMP.
|
||||
|
||||
C:
|
||||
CD \RMVTMP
|
||||
|
||||
ECHO RMVC user-context REMOVE readback helper > HELPER.TXT
|
||||
ECHO Current phase: logout supervisor, login NOPASSUSER. >> HELPER.TXT
|
||||
|
||||
LOGOUT > ULOG1.OUT
|
||||
LOGIN NOPASSUSER > ULOGIN.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \NPUBLIC\RIGHTS.EXE GOTO HAVEF
|
||||
ECHO F: not ready after NOPASSUSER login. >> C:\RMVTMP\HELPER.TXT
|
||||
GOTO RELSUP
|
||||
|
||||
:HAVEF
|
||||
ECHO Starting G10_R as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G10 > C:\RMVTMP\UNOV\G10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G10 > C:\RMVTMP\UPUB\G10_R.OUT
|
||||
ECHO Starting G11_W as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G11 > C:\RMVTMP\UNOV\G11_W.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G11 > C:\RMVTMP\UPUB\G11_W.OUT
|
||||
ECHO Starting G12_C as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G12 > C:\RMVTMP\UNOV\G12_C.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G12 > C:\RMVTMP\UPUB\G12_C.OUT
|
||||
ECHO Starting G13_E as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G13 > C:\RMVTMP\UNOV\G13_E.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G13 > C:\RMVTMP\UPUB\G13_E.OUT
|
||||
ECHO Starting G14_M as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G14 > C:\RMVTMP\UNOV\G14_M.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G14 > C:\RMVTMP\UPUB\G14_M.OUT
|
||||
ECHO Starting G15_F as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G15 > C:\RMVTMP\UNOV\G15_F.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G15 > C:\RMVTMP\UPUB\G15_F.OUT
|
||||
ECHO Starting G16_A as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G16 > C:\RMVTMP\UNOV\G16_A.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G16 > C:\RMVTMP\UPUB\G16_A.OUT
|
||||
ECHO Starting G17_S as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G17 > C:\RMVTMP\UNOV\G17_S.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G17 > C:\RMVTMP\UPUB\G17_S.OUT
|
||||
ECHO Starting G20_RF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G20 > C:\RMVTMP\UNOV\G20_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G20 > C:\RMVTMP\UPUB\G20_RF.OUT
|
||||
ECHO Starting G21_RW as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G21 > C:\RMVTMP\UNOV\G21_RW.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G21 > C:\RMVTMP\UPUB\G21_RW.OUT
|
||||
ECHO Starting G22_RWC as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G22 > C:\RMVTMP\UNOV\G22_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G22 > C:\RMVTMP\UPUB\G22_RWC.OUT
|
||||
ECHO Starting G23_RWCE as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G23 > C:\RMVTMP\UNOV\G23_RWCE.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G23 > C:\RMVTMP\UPUB\G23_RWCE.OUT
|
||||
ECHO Starting G24_RAL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G24 > C:\RMVTMP\UNOV\G24_RAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G24 > C:\RMVTMP\UPUB\G24_RAL.OUT
|
||||
ECHO Starting G25_SAL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G25 > C:\RMVTMP\UNOV\G25_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G25 > C:\RMVTMP\UPUB\G25_SAL.OUT
|
||||
ECHO Starting G26_ALL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G26 > C:\RMVTMP\UNOV\G26_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G26 > C:\RMVTMP\UPUB\G26_ALL.OUT
|
||||
ECHO Starting G27_N as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G27 > C:\RMVTMP\UNOV\G27_N.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G27 > C:\RMVTMP\UPUB\G27_N.OUT
|
||||
ECHO Starting G30_RE as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G30 > C:\RMVTMP\UNOV\G30_RE.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G30 > C:\RMVTMP\UPUB\G30_RE.OUT
|
||||
ECHO Starting G31_RWF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G31 > C:\RMVTMP\UNOV\G31_RWF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G31 > C:\RMVTMP\UPUB\G31_RWF.OUT
|
||||
ECHO Starting G32_RCM as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G32 > C:\RMVTMP\UNOV\G32_RCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G32 > C:\RMVTMP\UPUB\G32_RCM.OUT
|
||||
ECHO Starting G33_RFA as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G33 > C:\RMVTMP\UNOV\G33_RFA.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G33 > C:\RMVTMP\UPUB\G33_RFA.OUT
|
||||
ECHO Starting G34_WCM as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G34 > C:\RMVTMP\UNOV\G34_WCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G34 > C:\RMVTMP\UPUB\G34_WCM.OUT
|
||||
ECHO Starting G35_EMF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G35 > C:\RMVTMP\UNOV\G35_EMF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G35 > C:\RMVTMP\UPUB\G35_EMF.OUT
|
||||
ECHO Starting G36_RMF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G36 > C:\RMVTMP\UNOV\G36_RMF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G36 > C:\RMVTMP\UPUB\G36_RMF.OUT
|
||||
ECHO Starting G37_REMA as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G37 > C:\RMVTMP\UNOV\G37_REMA.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G37 > C:\RMVTMP\UPUB\G37_REMA.OUT
|
||||
ECHO Starting G38_SR as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G38 > C:\RMVTMP\UNOV\G38_SR.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G38 > C:\RMVTMP\UPUB\G38_SR.OUT
|
||||
ECHO Starting G39_SRF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G39 > C:\RMVTMP\UNOV\G39_SRF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G39 > C:\RMVTMP\UPUB\G39_SRF.OUT
|
||||
ECHO Starting G40_SWCM as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\G40 > C:\RMVTMP\UNOV\G40_SWCM.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\G40 > C:\RMVTMP\UPUB\G40_SWCM.OUT
|
||||
ECHO Starting F10_R as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F10\T.TXT > C:\RMVTMP\UNOV\F10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F10\T.TXT > C:\RMVTMP\UPUB\F10_R.OUT
|
||||
ECHO Starting F11_RF as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F11\T.TXT > C:\RMVTMP\UNOV\F11_RF.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F11\T.TXT > C:\RMVTMP\UPUB\F11_RF.OUT
|
||||
ECHO Starting F12_RAL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F12\T.TXT > C:\RMVTMP\UNOV\F12_RAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F12\T.TXT > C:\RMVTMP\UPUB\F12_RAL.OUT
|
||||
ECHO Starting F13_ALL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F13\T.TXT > C:\RMVTMP\UNOV\F13_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F13\T.TXT > C:\RMVTMP\UPUB\F13_ALL.OUT
|
||||
ECHO Starting F14_N as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F14\T.TXT > C:\RMVTMP\UNOV\F14_N.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F14\T.TXT > C:\RMVTMP\UPUB\F14_N.OUT
|
||||
ECHO Starting F15_S as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F15\T.TXT > C:\RMVTMP\UNOV\F15_S.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F15\T.TXT > C:\RMVTMP\UPUB\F15_S.OUT
|
||||
ECHO Starting F16_SAL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\F16\T.TXT > C:\RMVTMP\UNOV\F16_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\F16\T.TXT > C:\RMVTMP\UPUB\F16_SAL.OUT
|
||||
ECHO Starting S10_R as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\S10\S1 > C:\RMVTMP\UNOV\S10_R.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\S10\S1 > C:\RMVTMP\UPUB\S10_R.OUT
|
||||
ECHO Starting S11_RWC as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\S11\S1 > C:\RMVTMP\UNOV\S11_RWC.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\S11\S1 > C:\RMVTMP\UPUB\S11_RWC.OUT
|
||||
ECHO Starting S12_ALL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\S12\S1 > C:\RMVTMP\UNOV\S12_ALL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\S12\S1 > C:\RMVTMP\UPUB\S12_ALL.OUT
|
||||
ECHO Starting S13_SAL as NOPASSUSER... >> C:\RMVTMP\HELPER.TXT
|
||||
\NPUBLIC\RIGHTS F:\RMVTEST\S13\S1 > C:\RMVTMP\UNOV\S13_SAL.OUT
|
||||
\PUBLIC\RIGHTS F:\RMVTEST\S13\S1 > C:\RMVTMP\UPUB\S13_SAL.OUT
|
||||
|
||||
:RELSUP
|
||||
C:
|
||||
CD \RMVTMP
|
||||
LOGOUT > ULOG2.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \LOGIN\LOGIN.EXE GOTO HAVELOG
|
||||
ECHO F:\LOGIN\LOGIN.EXE not found. >> C:\RMVTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:HAVELOG
|
||||
F:\LOGIN\LOGIN SUPERVISOR /PWD:%LGNTPWD% > C:\RMVTMP\ULGSUP.OUT
|
||||
|
||||
F:
|
||||
CD \
|
||||
IF EXIST \RMVSTA.BAT GOTO QUEUEP2
|
||||
ECHO F: not restored or \RMVSTA.BAT missing. >> C:\RMVTMP\HELPER.TXT
|
||||
GOTO MANUAL
|
||||
|
||||
:QUEUEP2
|
||||
C:
|
||||
CD \RMVTMP
|
||||
DLYSTRT /T:2 F:\RMVSTA.BAT PART2
|
||||
GOTO END
|
||||
|
||||
:MANUAL
|
||||
ECHO Please run manually after SUPERVISOR login: >> C:\RMVTMP\HELPER.TXT
|
||||
ECHO F: >> C:\RMVTMP\HELPER.TXT
|
||||
ECHO CD \ >> C:\RMVTMP\HELPER.TXT
|
||||
ECHO RMVSTA PART2 >> C:\RMVTMP\HELPER.TXT
|
||||
|
||||
:END
|
||||
@@ -1,116 +1,595 @@
|
||||
@ECHO OFF
|
||||
REM RMVSTA.BAT
|
||||
REM Automated REMOVE baseline test for MARS NWE.
|
||||
REM Automated REMOVE comparison test for MARS NWE.
|
||||
REM
|
||||
REM Run as SUPERVISOR or a user with Access Control on F:\RMVTEST.
|
||||
REM Uses \NPUBLIC\REMOVE as Novell baseline.
|
||||
REM Setup uses \NPUBLIC\GRANT to create trustee assignments.
|
||||
REM Direct mode:
|
||||
REM OUT = Novell baseline using \NPUBLIC\REMOVE
|
||||
REM PUBOUT = our implementation using \PUBLIC\REMOVE
|
||||
REM
|
||||
REM Result tree:
|
||||
REM F:\RMVCMP
|
||||
REM Test tree:
|
||||
REM F:\RMVTEST
|
||||
REM User-context mode:
|
||||
REM REMOVE is run as SUPERVISOR against NOPASSUSER.
|
||||
REM DLYSTRT starts C:\RMVTMP\RMVC.BAT after this script exits.
|
||||
REM RMVC logs in as NOPASSUSER and captures effective RIGHTS output.
|
||||
REM
|
||||
REM Optional automatic user-context mode requires:
|
||||
REM SET LGNTPWD=your-supervisor-password
|
||||
|
||||
IF "%1"=="" GOTO PART1
|
||||
IF "%1"=="PART2" GOTO PART2
|
||||
IF "%1"=="part2" GOTO PART2
|
||||
IF "%1"=="Part2" GOTO PART2
|
||||
ECHO Usage: RMVSTA [PART2]
|
||||
GOTO END
|
||||
|
||||
:PART1
|
||||
F:
|
||||
CD \
|
||||
|
||||
REM --- Clean generated test/result directories (contents only). ---
|
||||
IF EXIST RMVTEST\NUL DELTREE /Y RMVTEST\*.*
|
||||
IF EXIST RMVCMP\NUL DELTREE /Y RMVCMP\*.*
|
||||
IF "%LGNTPWD%"=="" GOTO NEEDPWD
|
||||
|
||||
IF NOT EXIST RMVTEST\NUL MD RMVTEST
|
||||
IF NOT EXIST RMVTEST\ONE\NUL MD RMVTEST\ONE
|
||||
IF NOT EXIST RMVTEST\TREE\NUL MD RMVTEST\TREE
|
||||
IF NOT EXIST RMVTEST\TREE\SUB1\NUL MD RMVTEST\TREE\SUB1
|
||||
IF NOT EXIST RMVTEST\TREE\SUB2\NUL MD RMVTEST\TREE\SUB2
|
||||
IF NOT EXIST RMVTEST\FILES\NUL MD RMVTEST\FILES
|
||||
IF NOT EXIST RMVTEST\OPTBOTH\NUL MD RMVTEST\OPTBOTH
|
||||
IF NOT EXIST RMVTEST\OPTBOTH\SUB\NUL MD RMVTEST\OPTBOTH\SUB
|
||||
IF NOT EXIST RMVCMP\NUL MD RMVCMP
|
||||
IF NOT EXIST RMVCMP\OUT\NUL MD RMVCMP\OUT
|
||||
IF NOT EXIST RMVCMP\SETUP\NUL MD RMVCMP\SETUP
|
||||
REM --- Clean generated test/result directories. ---
|
||||
IF EXIST RMVTEST\*.* DELTREE /Y RMVTEST
|
||||
IF EXIST RMVCMP\*.* DELTREE /Y RMVCMP
|
||||
IF EXIST C:\RMVTMP\*.* DELTREE /Y C:\RMVTMP
|
||||
|
||||
ECHO REMOVE ROOT FILE > F:\RMVTEST\ROOT.TXT
|
||||
ECHO REMOVE ONE FILE > F:\RMVTEST\ONE\ONE.TXT
|
||||
ECHO REMOVE TREE ROOT FILE > F:\RMVTEST\TREE\TROOT.TXT
|
||||
ECHO REMOVE SUB1 FILE > F:\RMVTEST\TREE\SUB1\SUB1.TXT
|
||||
ECHO REMOVE SUB2 FILE > F:\RMVTEST\TREE\SUB2\SUB2.TXT
|
||||
ECHO REMOVE FILE A > F:\RMVTEST\FILES\A.TXT
|
||||
ECHO REMOVE FILE B > F:\RMVTEST\FILES\B.TXT
|
||||
ECHO REMOVE OPT ROOT > F:\RMVTEST\OPTBOTH\O.TXT
|
||||
ECHO REMOVE OPT SUB > F:\RMVTEST\OPTBOTH\SUB\S.TXT
|
||||
IF NOT EXIST RMVTEST MD RMVTEST
|
||||
IF NOT EXIST RMVCMP MD RMVCMP
|
||||
IF NOT EXIST RMVCMP\OUT MD RMVCMP\OUT
|
||||
IF NOT EXIST RMVCMP\PUBOUT MD RMVCMP\PUBOUT
|
||||
IF NOT EXIST RMVCMP\SETUP MD RMVCMP\SETUP
|
||||
IF NOT EXIST C:\RMVTMP MD C:\RMVTMP
|
||||
IF NOT EXIST C:\RMVTMP\UNOV MD C:\RMVTMP\UNOV
|
||||
IF NOT EXIST C:\RMVTMP\UPUB MD C:\RMVTMP\UPUB
|
||||
IF NOT EXIST C:\RMVTMP\USETUP MD C:\RMVTMP\USETUP
|
||||
|
||||
ECHO RMVSTA REMOVE baseline test > F:\RMVCMP\RUN.LOG
|
||||
ECHO Run this as SUPERVISOR or equivalent. >> F:\RMVCMP\RUN.LOG
|
||||
ECHO Captures \NPUBLIC\REMOVE output against user MARIO. >> F:\RMVCMP\RUN.LOG
|
||||
ECHO Setup uses \NPUBLIC\GRANT. >> F:\RMVCMP\RUN.LOG
|
||||
ECHO RMVSTA REMOVE comparison test > F:\RMVCMP\RUN.LOG
|
||||
ECHO OUT = Novell baseline with \NPUBLIC\REMOVE >> F:\RMVCMP\RUN.LOG
|
||||
ECHO PUBOUT = our implementation with \PUBLIC\REMOVE >> F:\RMVCMP\RUN.LOG
|
||||
ECHO User-context target: NOPASSUSER >> F:\RMVCMP\RUN.LOG
|
||||
ECHO. >> F:\RMVCMP\RUN.LOG
|
||||
|
||||
ECHO === D01 usage/help === >> F:\RMVCMP\RUN.LOG
|
||||
ECHO Starting D01_HELP...
|
||||
\NPUBLIC\REMOVE /? > F:\RMVCMP\OUT\D01_HELP.OUT
|
||||
\PUBLIC\REMOVE /? > F:\RMVCMP\PUBOUT\D01_HELP.OUT
|
||||
ECHO Starting D02_NOAR...
|
||||
\NPUBLIC\REMOVE > F:\RMVCMP\OUT\D02_NOAR.OUT
|
||||
\PUBLIC\REMOVE > F:\RMVCMP\PUBOUT\D02_NOAR.OUT
|
||||
|
||||
ECHO === D02 no arguments === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\REMOVE > F:\RMVCMP\OUT\D02_NOARGS.OUT
|
||||
REM --- Setup matrix directories/files. ---
|
||||
IF NOT EXIST RMVTEST\G10 MD RMVTEST\G10
|
||||
ECHO G10_R > F:\RMVTEST\G10\T.TXT
|
||||
IF NOT EXIST RMVTEST\G11 MD RMVTEST\G11
|
||||
ECHO G11_W > F:\RMVTEST\G11\T.TXT
|
||||
IF NOT EXIST RMVTEST\G12 MD RMVTEST\G12
|
||||
ECHO G12_C > F:\RMVTEST\G12\T.TXT
|
||||
IF NOT EXIST RMVTEST\G13 MD RMVTEST\G13
|
||||
ECHO G13_E > F:\RMVTEST\G13\T.TXT
|
||||
IF NOT EXIST RMVTEST\G14 MD RMVTEST\G14
|
||||
ECHO G14_M > F:\RMVTEST\G14\T.TXT
|
||||
IF NOT EXIST RMVTEST\G15 MD RMVTEST\G15
|
||||
ECHO G15_F > F:\RMVTEST\G15\T.TXT
|
||||
IF NOT EXIST RMVTEST\G16 MD RMVTEST\G16
|
||||
ECHO G16_A > F:\RMVTEST\G16\T.TXT
|
||||
IF NOT EXIST RMVTEST\G17 MD RMVTEST\G17
|
||||
ECHO G17_S > F:\RMVTEST\G17\T.TXT
|
||||
IF NOT EXIST RMVTEST\G20 MD RMVTEST\G20
|
||||
ECHO G20_RF > F:\RMVTEST\G20\T.TXT
|
||||
IF NOT EXIST RMVTEST\G21 MD RMVTEST\G21
|
||||
ECHO G21_RW > F:\RMVTEST\G21\T.TXT
|
||||
IF NOT EXIST RMVTEST\G22 MD RMVTEST\G22
|
||||
ECHO G22_RWC > F:\RMVTEST\G22\T.TXT
|
||||
IF NOT EXIST RMVTEST\G23 MD RMVTEST\G23
|
||||
ECHO G23_RWCE > F:\RMVTEST\G23\T.TXT
|
||||
IF NOT EXIST RMVTEST\G24 MD RMVTEST\G24
|
||||
ECHO G24_RAL > F:\RMVTEST\G24\T.TXT
|
||||
IF NOT EXIST RMVTEST\G25 MD RMVTEST\G25
|
||||
ECHO G25_SAL > F:\RMVTEST\G25\T.TXT
|
||||
IF NOT EXIST RMVTEST\G26 MD RMVTEST\G26
|
||||
ECHO G26_ALL > F:\RMVTEST\G26\T.TXT
|
||||
IF NOT EXIST RMVTEST\G27 MD RMVTEST\G27
|
||||
ECHO G27_N > F:\RMVTEST\G27\T.TXT
|
||||
IF NOT EXIST RMVTEST\G30 MD RMVTEST\G30
|
||||
ECHO G30_RE > F:\RMVTEST\G30\T.TXT
|
||||
IF NOT EXIST RMVTEST\G31 MD RMVTEST\G31
|
||||
ECHO G31_RWF > F:\RMVTEST\G31\T.TXT
|
||||
IF NOT EXIST RMVTEST\G32 MD RMVTEST\G32
|
||||
ECHO G32_RCM > F:\RMVTEST\G32\T.TXT
|
||||
IF NOT EXIST RMVTEST\G33 MD RMVTEST\G33
|
||||
ECHO G33_RFA > F:\RMVTEST\G33\T.TXT
|
||||
IF NOT EXIST RMVTEST\G34 MD RMVTEST\G34
|
||||
ECHO G34_WCM > F:\RMVTEST\G34\T.TXT
|
||||
IF NOT EXIST RMVTEST\G35 MD RMVTEST\G35
|
||||
ECHO G35_EMF > F:\RMVTEST\G35\T.TXT
|
||||
IF NOT EXIST RMVTEST\G36 MD RMVTEST\G36
|
||||
ECHO G36_RMF > F:\RMVTEST\G36\T.TXT
|
||||
IF NOT EXIST RMVTEST\G37 MD RMVTEST\G37
|
||||
ECHO G37_REMA > F:\RMVTEST\G37\T.TXT
|
||||
IF NOT EXIST RMVTEST\G38 MD RMVTEST\G38
|
||||
ECHO G38_SR > F:\RMVTEST\G38\T.TXT
|
||||
IF NOT EXIST RMVTEST\G39 MD RMVTEST\G39
|
||||
ECHO G39_SRF > F:\RMVTEST\G39\T.TXT
|
||||
IF NOT EXIST RMVTEST\G40 MD RMVTEST\G40
|
||||
ECHO G40_SWCM > F:\RMVTEST\G40\T.TXT
|
||||
IF NOT EXIST RMVTEST\F10 MD RMVTEST\F10
|
||||
ECHO F10_R > F:\RMVTEST\F10\T.TXT
|
||||
IF NOT EXIST RMVTEST\F11 MD RMVTEST\F11
|
||||
ECHO F11_RF > F:\RMVTEST\F11\T.TXT
|
||||
IF NOT EXIST RMVTEST\F12 MD RMVTEST\F12
|
||||
ECHO F12_RAL > F:\RMVTEST\F12\T.TXT
|
||||
IF NOT EXIST RMVTEST\F13 MD RMVTEST\F13
|
||||
ECHO F13_ALL > F:\RMVTEST\F13\T.TXT
|
||||
IF NOT EXIST RMVTEST\F14 MD RMVTEST\F14
|
||||
ECHO F14_N > F:\RMVTEST\F14\T.TXT
|
||||
IF NOT EXIST RMVTEST\F15 MD RMVTEST\F15
|
||||
ECHO F15_S > F:\RMVTEST\F15\T.TXT
|
||||
IF NOT EXIST RMVTEST\F16 MD RMVTEST\F16
|
||||
ECHO F16_SAL > F:\RMVTEST\F16\T.TXT
|
||||
IF NOT EXIST RMVTEST\S10 MD RMVTEST\S10
|
||||
IF NOT EXIST RMVTEST\S10\S1 MD RMVTEST\S10\S1
|
||||
IF NOT EXIST RMVTEST\S10\S2 MD RMVTEST\S10\S2
|
||||
ECHO S10_R > F:\RMVTEST\S10\S1\T.TXT
|
||||
ECHO S10_R > F:\RMVTEST\S10\S2\T.TXT
|
||||
IF NOT EXIST RMVTEST\S11 MD RMVTEST\S11
|
||||
IF NOT EXIST RMVTEST\S11\S1 MD RMVTEST\S11\S1
|
||||
IF NOT EXIST RMVTEST\S11\S2 MD RMVTEST\S11\S2
|
||||
ECHO S11_RWC > F:\RMVTEST\S11\S1\T.TXT
|
||||
ECHO S11_RWC > F:\RMVTEST\S11\S2\T.TXT
|
||||
IF NOT EXIST RMVTEST\S12 MD RMVTEST\S12
|
||||
IF NOT EXIST RMVTEST\S12\S1 MD RMVTEST\S12\S1
|
||||
IF NOT EXIST RMVTEST\S12\S2 MD RMVTEST\S12\S2
|
||||
ECHO S12_ALL > F:\RMVTEST\S12\S1\T.TXT
|
||||
ECHO S12_ALL > F:\RMVTEST\S12\S2\T.TXT
|
||||
IF NOT EXIST RMVTEST\S13 MD RMVTEST\S13
|
||||
IF NOT EXIST RMVTEST\S13\S1 MD RMVTEST\S13\S1
|
||||
IF NOT EXIST RMVTEST\S13\S2 MD RMVTEST\S13\S2
|
||||
ECHO S13_SAL > F:\RMVTEST\S13\S1\T.TXT
|
||||
ECHO S13_SAL > F:\RMVTEST\S13\S2\T.TXT
|
||||
|
||||
ECHO === D10 remove USER MARIO from directory === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\ONE TO USER MARIO > F:\RMVCMP\SETUP\S10_GRANT.OUT
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\ONE > F:\RMVCMP\OUT\D10_DIR_USER.OUT
|
||||
IF NOT EXIST RMVTEST\ERR MD RMVTEST\ERR
|
||||
ECHO ERR > F:\RMVTEST\ERR\T.TXT
|
||||
|
||||
ECHO === D11 remove MARIO without USER keyword === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\ONE TO USER MARIO > F:\RMVCMP\SETUP\S11_GRANT.OUT
|
||||
\NPUBLIC\REMOVE MARIO FROM F:\RMVTEST\ONE > F:\RMVCMP\OUT\D11_DIR_IMPLICIT.OUT
|
||||
REM --- Direct REMOVE output compare. Setup uses Novell GRANT for both sides. ---
|
||||
ECHO Starting G10_R directory remove...
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\G10 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G10_RNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G10 > F:\RMVCMP\OUT\G10_R.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\G10 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G10_RPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G10 > F:\RMVCMP\PUBOUT\G10_R.OUT
|
||||
ECHO Starting G11_W directory remove...
|
||||
\NPUBLIC\GRANT W FOR F:\RMVTEST\G11 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G11_WNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G11 > F:\RMVCMP\OUT\G11_W.OUT
|
||||
\NPUBLIC\GRANT W FOR F:\RMVTEST\G11 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G11_WPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G11 > F:\RMVCMP\PUBOUT\G11_W.OUT
|
||||
ECHO Starting G12_C directory remove...
|
||||
\NPUBLIC\GRANT C FOR F:\RMVTEST\G12 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G12_CNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G12 > F:\RMVCMP\OUT\G12_C.OUT
|
||||
\NPUBLIC\GRANT C FOR F:\RMVTEST\G12 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G12_CPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G12 > F:\RMVCMP\PUBOUT\G12_C.OUT
|
||||
ECHO Starting G13_E directory remove...
|
||||
\NPUBLIC\GRANT E FOR F:\RMVTEST\G13 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G13_ENG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G13 > F:\RMVCMP\OUT\G13_E.OUT
|
||||
\NPUBLIC\GRANT E FOR F:\RMVTEST\G13 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G13_EPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G13 > F:\RMVCMP\PUBOUT\G13_E.OUT
|
||||
ECHO Starting G14_M directory remove...
|
||||
\NPUBLIC\GRANT M FOR F:\RMVTEST\G14 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G14_MNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G14 > F:\RMVCMP\OUT\G14_M.OUT
|
||||
\NPUBLIC\GRANT M FOR F:\RMVTEST\G14 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G14_MPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G14 > F:\RMVCMP\PUBOUT\G14_M.OUT
|
||||
ECHO Starting G15_F directory remove...
|
||||
\NPUBLIC\GRANT F FOR F:\RMVTEST\G15 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G15_FNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G15 > F:\RMVCMP\OUT\G15_F.OUT
|
||||
\NPUBLIC\GRANT F FOR F:\RMVTEST\G15 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G15_FPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G15 > F:\RMVCMP\PUBOUT\G15_F.OUT
|
||||
ECHO Starting G16_A directory remove...
|
||||
\NPUBLIC\GRANT A FOR F:\RMVTEST\G16 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G16_ANG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G16 > F:\RMVCMP\OUT\G16_A.OUT
|
||||
\NPUBLIC\GRANT A FOR F:\RMVTEST\G16 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G16_APG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G16 > F:\RMVCMP\PUBOUT\G16_A.OUT
|
||||
ECHO Starting G17_S directory remove...
|
||||
\NPUBLIC\GRANT S FOR F:\RMVTEST\G17 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G17_SNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G17 > F:\RMVCMP\OUT\G17_S.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\RMVTEST\G17 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G17_SPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G17 > F:\RMVCMP\PUBOUT\G17_S.OUT
|
||||
ECHO Starting G20_RF directory remove...
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\G20 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G20_RFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G20 > F:\RMVCMP\OUT\G20_RF.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\G20 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G20_RFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G20 > F:\RMVCMP\PUBOUT\G20_RF.OUT
|
||||
ECHO Starting G21_RW directory remove...
|
||||
\NPUBLIC\GRANT R W FOR F:\RMVTEST\G21 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G21_RWNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G21 > F:\RMVCMP\OUT\G21_RW.OUT
|
||||
\NPUBLIC\GRANT R W FOR F:\RMVTEST\G21 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G21_RWPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G21 > F:\RMVCMP\PUBOUT\G21_RW.OUT
|
||||
ECHO Starting G22_RWC directory remove...
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\G22 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G22_RWCNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G22 > F:\RMVCMP\OUT\G22_RWC.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\G22 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G22_RWCPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G22 > F:\RMVCMP\PUBOUT\G22_RWC.OUT
|
||||
ECHO Starting G23_RWCE directory remove...
|
||||
\NPUBLIC\GRANT R W C E FOR F:\RMVTEST\G23 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G23_RWCENG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G23 > F:\RMVCMP\OUT\G23_RWCE.OUT
|
||||
\NPUBLIC\GRANT R W C E FOR F:\RMVTEST\G23 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G23_RWCEPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G23 > F:\RMVCMP\PUBOUT\G23_RWCE.OUT
|
||||
ECHO Starting G24_RAL directory remove...
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RMVTEST\G24 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G24_RALNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G24 > F:\RMVCMP\OUT\G24_RAL.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RMVTEST\G24 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G24_RALPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G24 > F:\RMVCMP\PUBOUT\G24_RAL.OUT
|
||||
ECHO Starting G25_SAL directory remove...
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\G25 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G25_SALNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G25 > F:\RMVCMP\OUT\G25_SAL.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\G25 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G25_SALPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G25 > F:\RMVCMP\PUBOUT\G25_SAL.OUT
|
||||
ECHO Starting G26_ALL directory remove...
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\G26 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G26_ALLNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G26 > F:\RMVCMP\OUT\G26_ALL.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\G26 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G26_ALLPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G26 > F:\RMVCMP\PUBOUT\G26_ALL.OUT
|
||||
ECHO Starting G27_N directory remove...
|
||||
\NPUBLIC\GRANT N FOR F:\RMVTEST\G27 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G27_NNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G27 > F:\RMVCMP\OUT\G27_N.OUT
|
||||
\NPUBLIC\GRANT N FOR F:\RMVTEST\G27 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G27_NPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G27 > F:\RMVCMP\PUBOUT\G27_N.OUT
|
||||
ECHO Starting G30_RE directory remove...
|
||||
\NPUBLIC\GRANT R E FOR F:\RMVTEST\G30 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G30_RENG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G30 > F:\RMVCMP\OUT\G30_RE.OUT
|
||||
\NPUBLIC\GRANT R E FOR F:\RMVTEST\G30 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G30_REPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G30 > F:\RMVCMP\PUBOUT\G30_RE.OUT
|
||||
ECHO Starting G31_RWF directory remove...
|
||||
\NPUBLIC\GRANT R W F FOR F:\RMVTEST\G31 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G31_RWFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G31 > F:\RMVCMP\OUT\G31_RWF.OUT
|
||||
\NPUBLIC\GRANT R W F FOR F:\RMVTEST\G31 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G31_RWFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G31 > F:\RMVCMP\PUBOUT\G31_RWF.OUT
|
||||
ECHO Starting G32_RCM directory remove...
|
||||
\NPUBLIC\GRANT R C M FOR F:\RMVTEST\G32 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G32_RCMNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G32 > F:\RMVCMP\OUT\G32_RCM.OUT
|
||||
\NPUBLIC\GRANT R C M FOR F:\RMVTEST\G32 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G32_RCMPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G32 > F:\RMVCMP\PUBOUT\G32_RCM.OUT
|
||||
ECHO Starting G33_RFA directory remove...
|
||||
\NPUBLIC\GRANT R F A FOR F:\RMVTEST\G33 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G33_RFANG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G33 > F:\RMVCMP\OUT\G33_RFA.OUT
|
||||
\NPUBLIC\GRANT R F A FOR F:\RMVTEST\G33 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G33_RFAPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G33 > F:\RMVCMP\PUBOUT\G33_RFA.OUT
|
||||
ECHO Starting G34_WCM directory remove...
|
||||
\NPUBLIC\GRANT W C M FOR F:\RMVTEST\G34 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G34_WCMNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G34 > F:\RMVCMP\OUT\G34_WCM.OUT
|
||||
\NPUBLIC\GRANT W C M FOR F:\RMVTEST\G34 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G34_WCMPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G34 > F:\RMVCMP\PUBOUT\G34_WCM.OUT
|
||||
ECHO Starting G35_EMF directory remove...
|
||||
\NPUBLIC\GRANT E M F FOR F:\RMVTEST\G35 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G35_EMFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G35 > F:\RMVCMP\OUT\G35_EMF.OUT
|
||||
\NPUBLIC\GRANT E M F FOR F:\RMVTEST\G35 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G35_EMFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G35 > F:\RMVCMP\PUBOUT\G35_EMF.OUT
|
||||
ECHO Starting G36_RMF directory remove...
|
||||
\NPUBLIC\GRANT R W C M F FOR F:\RMVTEST\G36 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G36_RMFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G36 > F:\RMVCMP\OUT\G36_RMF.OUT
|
||||
\NPUBLIC\GRANT R W C M F FOR F:\RMVTEST\G36 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G36_RMFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G36 > F:\RMVCMP\PUBOUT\G36_RMF.OUT
|
||||
ECHO Starting G37_REMA directory remove...
|
||||
\NPUBLIC\GRANT R E M A FOR F:\RMVTEST\G37 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G37_REMANG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G37 > F:\RMVCMP\OUT\G37_REMA.OUT
|
||||
\NPUBLIC\GRANT R E M A FOR F:\RMVTEST\G37 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G37_REMAPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G37 > F:\RMVCMP\PUBOUT\G37_REMA.OUT
|
||||
ECHO Starting G38_SR directory remove...
|
||||
\NPUBLIC\GRANT S R FOR F:\RMVTEST\G38 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G38_SRNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G38 > F:\RMVCMP\OUT\G38_SR.OUT
|
||||
\NPUBLIC\GRANT S R FOR F:\RMVTEST\G38 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G38_SRPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G38 > F:\RMVCMP\PUBOUT\G38_SR.OUT
|
||||
ECHO Starting G39_SRF directory remove...
|
||||
\NPUBLIC\GRANT S R F FOR F:\RMVTEST\G39 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G39_SRFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G39 > F:\RMVCMP\OUT\G39_SRF.OUT
|
||||
\NPUBLIC\GRANT S R F FOR F:\RMVTEST\G39 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G39_SRFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G39 > F:\RMVCMP\PUBOUT\G39_SRF.OUT
|
||||
ECHO Starting G40_SWCM directory remove...
|
||||
\NPUBLIC\GRANT S W C M FOR F:\RMVTEST\G40 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G40_SWCMNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G40 > F:\RMVCMP\OUT\G40_SWCM.OUT
|
||||
\NPUBLIC\GRANT S W C M FOR F:\RMVTEST\G40 TO USER NOPASSUSER > F:\RMVCMP\SETUP\G40_SWCMPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\G40 > F:\RMVCMP\PUBOUT\G40_SWCM.OUT
|
||||
ECHO Starting F10_R file remove...
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F10_RNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F10\T.TXT /FILES > F:\RMVCMP\OUT\F10_R.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\F10\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F10_RPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F10\T.TXT /FILES > F:\RMVCMP\PUBOUT\F10_R.OUT
|
||||
ECHO Starting F11_RF file remove...
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F11_RFNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F11\T.TXT /FILES > F:\RMVCMP\OUT\F11_RF.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\F11\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F11_RFPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F11\T.TXT /FILES > F:\RMVCMP\PUBOUT\F11_RF.OUT
|
||||
ECHO Starting F12_RAL file remove...
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RMVTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F12_RALNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F12\T.TXT /FILES > F:\RMVCMP\OUT\F12_RAL.OUT
|
||||
\NPUBLIC\GRANT R W C E M F A FOR F:\RMVTEST\F12\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F12_RALPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F12\T.TXT /FILES > F:\RMVCMP\PUBOUT\F12_RAL.OUT
|
||||
ECHO Starting F13_ALL file remove...
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F13_ALLNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F13\T.TXT /FILES > F:\RMVCMP\OUT\F13_ALL.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\F13\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F13_ALLPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F13\T.TXT /FILES > F:\RMVCMP\PUBOUT\F13_ALL.OUT
|
||||
ECHO Starting F14_N file remove...
|
||||
\NPUBLIC\GRANT N FOR F:\RMVTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F14_NNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F14\T.TXT /FILES > F:\RMVCMP\OUT\F14_N.OUT
|
||||
\NPUBLIC\GRANT N FOR F:\RMVTEST\F14\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F14_NPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F14\T.TXT /FILES > F:\RMVCMP\PUBOUT\F14_N.OUT
|
||||
ECHO Starting F15_S file remove...
|
||||
\NPUBLIC\GRANT S FOR F:\RMVTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F15_SNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F15\T.TXT /FILES > F:\RMVCMP\OUT\F15_S.OUT
|
||||
\NPUBLIC\GRANT S FOR F:\RMVTEST\F15\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F15_SPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F15\T.TXT /FILES > F:\RMVCMP\PUBOUT\F15_S.OUT
|
||||
ECHO Starting F16_SAL file remove...
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F16_SALNG.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F16\T.TXT /FILES > F:\RMVCMP\OUT\F16_SAL.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\F16\T.TXT TO USER NOPASSUSER /FILES > F:\RMVCMP\SETUP\F16_SALPG.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\F16\T.TXT /FILES > F:\RMVCMP\PUBOUT\F16_SAL.OUT
|
||||
ECHO Starting S10_R subdirs remove...
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RNR.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RN1.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RN2.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S10 /SUBDIRS > F:\RMVCMP\OUT\S10_R.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RPR.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RP1.OUT
|
||||
\NPUBLIC\GRANT R FOR F:\RMVTEST\S10\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S10_RP2.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S10 /SUBDIRS > F:\RMVCMP\PUBOUT\S10_R.OUT
|
||||
ECHO Starting S11_RWC subdirs remove...
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCNR.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCN1.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCN2.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S11 /SUBDIRS > F:\RMVCMP\OUT\S11_RWC.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCPR.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCP1.OUT
|
||||
\NPUBLIC\GRANT R W C FOR F:\RMVTEST\S11\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S11_RWCP2.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S11 /SUBDIRS > F:\RMVCMP\PUBOUT\S11_RWC.OUT
|
||||
ECHO Starting S12_ALL subdirs remove...
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLNR.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLN1.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLN2.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S12 /SUBDIRS > F:\RMVCMP\OUT\S12_ALL.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLPR.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLP1.OUT
|
||||
\NPUBLIC\GRANT ALL FOR F:\RMVTEST\S12\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S12_ALLP2.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S12 /SUBDIRS > F:\RMVCMP\PUBOUT\S12_ALL.OUT
|
||||
ECHO Starting S13_SAL subdirs remove...
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALNR.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALN1.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALN2.OUT
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S13 /SUBDIRS > F:\RMVCMP\OUT\S13_SAL.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALPR.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13\S1 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALP1.OUT
|
||||
\NPUBLIC\GRANT S R W C E M F A FOR F:\RMVTEST\S13\S2 TO USER NOPASSUSER > F:\RMVCMP\SETUP\S13_SALP2.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\S13 /SUBDIRS > F:\RMVCMP\PUBOUT\S13_SAL.OUT
|
||||
|
||||
ECHO === D20 remove recursively from subdirectories === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\TREE TO USER MARIO > F:\RMVCMP\SETUP\S20_ROOT.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\TREE\SUB1 TO USER MARIO > F:\RMVCMP\SETUP\S20_SUB1.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\TREE\SUB2 TO USER MARIO > F:\RMVCMP\SETUP\S20_SUB2.OUT
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\TREE /SUBDIRS > F:\RMVCMP\OUT\D20_SUBDIRS.OUT
|
||||
ECHO Starting E90_NOTR no trustee...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\ERR > F:\RMVCMP\OUT\E90_NOTR.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\ERR > F:\RMVCMP\PUBOUT\E90_NOTR.OUT
|
||||
ECHO Starting E91_MUSR missing user...
|
||||
\NPUBLIC\REMOVE USER NO_SUCH_USER FROM F:\RMVTEST\ERR > F:\RMVCMP\OUT\E91_MUSR.OUT
|
||||
\PUBLIC\REMOVE USER NO_SUCH_USER FROM F:\RMVTEST\ERR > F:\RMVCMP\PUBOUT\E91_MUSR.OUT
|
||||
ECHO Starting E92_MISD missing path...
|
||||
\NPUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\MISS > F:\RMVCMP\OUT\E92_MISD.OUT
|
||||
\PUBLIC\REMOVE USER NOPASSUSER FROM F:\RMVTEST\MISS > F:\RMVCMP\PUBOUT\E92_MISD.OUT
|
||||
ECHO Starting E93_BADD bad grammar...
|
||||
\NPUBLIC\REMOVE USER FROM F:\RMVTEST\ERR > F:\RMVCMP\OUT\E93_BADD.OUT
|
||||
\PUBLIC\REMOVE USER FROM F:\RMVTEST\ERR > F:\RMVCMP\PUBOUT\E93_BADD.OUT
|
||||
|
||||
ECHO === D21 remove from explicit file using /FILES === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\ONE\ONE.TXT TO USER MARIO /FILES > F:\RMVCMP\SETUP\S21_FILE.OUT
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\ONE\ONE.TXT /FILES > F:\RMVCMP\OUT\D21_FILE.OUT
|
||||
ECHO === Direct compare OUT vs PUBOUT === > F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing D01_HELP >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\D01_HELP.OUT F:\RMVCMP\PUBOUT\D01_HELP.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing D02_NOAR >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\D02_NOAR.OUT F:\RMVCMP\PUBOUT\D02_NOAR.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G10_R >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G10_R.OUT F:\RMVCMP\PUBOUT\G10_R.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G11_W >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G11_W.OUT F:\RMVCMP\PUBOUT\G11_W.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G12_C >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G12_C.OUT F:\RMVCMP\PUBOUT\G12_C.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G13_E >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G13_E.OUT F:\RMVCMP\PUBOUT\G13_E.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G14_M >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G14_M.OUT F:\RMVCMP\PUBOUT\G14_M.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G15_F >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G15_F.OUT F:\RMVCMP\PUBOUT\G15_F.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G16_A >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G16_A.OUT F:\RMVCMP\PUBOUT\G16_A.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G17_S >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G17_S.OUT F:\RMVCMP\PUBOUT\G17_S.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G20_RF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G20_RF.OUT F:\RMVCMP\PUBOUT\G20_RF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G21_RW >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G21_RW.OUT F:\RMVCMP\PUBOUT\G21_RW.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G22_RWC >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G22_RWC.OUT F:\RMVCMP\PUBOUT\G22_RWC.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G23_RWCE >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G23_RWCE.OUT F:\RMVCMP\PUBOUT\G23_RWCE.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G24_RAL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G24_RAL.OUT F:\RMVCMP\PUBOUT\G24_RAL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G25_SAL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G25_SAL.OUT F:\RMVCMP\PUBOUT\G25_SAL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G26_ALL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G26_ALL.OUT F:\RMVCMP\PUBOUT\G26_ALL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G27_N >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G27_N.OUT F:\RMVCMP\PUBOUT\G27_N.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G30_RE >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G30_RE.OUT F:\RMVCMP\PUBOUT\G30_RE.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G31_RWF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G31_RWF.OUT F:\RMVCMP\PUBOUT\G31_RWF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G32_RCM >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G32_RCM.OUT F:\RMVCMP\PUBOUT\G32_RCM.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G33_RFA >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G33_RFA.OUT F:\RMVCMP\PUBOUT\G33_RFA.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G34_WCM >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G34_WCM.OUT F:\RMVCMP\PUBOUT\G34_WCM.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G35_EMF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G35_EMF.OUT F:\RMVCMP\PUBOUT\G35_EMF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G36_RMF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G36_RMF.OUT F:\RMVCMP\PUBOUT\G36_RMF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G37_REMA >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G37_REMA.OUT F:\RMVCMP\PUBOUT\G37_REMA.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G38_SR >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G38_SR.OUT F:\RMVCMP\PUBOUT\G38_SR.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G39_SRF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G39_SRF.OUT F:\RMVCMP\PUBOUT\G39_SRF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing G40_SWCM >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\G40_SWCM.OUT F:\RMVCMP\PUBOUT\G40_SWCM.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F10_R >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F10_R.OUT F:\RMVCMP\PUBOUT\F10_R.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F11_RF >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F11_RF.OUT F:\RMVCMP\PUBOUT\F11_RF.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F12_RAL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F12_RAL.OUT F:\RMVCMP\PUBOUT\F12_RAL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F13_ALL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F13_ALL.OUT F:\RMVCMP\PUBOUT\F13_ALL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F14_N >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F14_N.OUT F:\RMVCMP\PUBOUT\F14_N.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F15_S >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F15_S.OUT F:\RMVCMP\PUBOUT\F15_S.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing F16_SAL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\F16_SAL.OUT F:\RMVCMP\PUBOUT\F16_SAL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing S10_R >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\S10_R.OUT F:\RMVCMP\PUBOUT\S10_R.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing S11_RWC >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\S11_RWC.OUT F:\RMVCMP\PUBOUT\S11_RWC.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing S12_ALL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\S12_ALL.OUT F:\RMVCMP\PUBOUT\S12_ALL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing S13_SAL >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\S13_SAL.OUT F:\RMVCMP\PUBOUT\S13_SAL.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing E90_NOTR >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\E90_NOTR.OUT F:\RMVCMP\PUBOUT\E90_NOTR.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing E91_MUSR >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\E91_MUSR.OUT F:\RMVCMP\PUBOUT\E91_MUSR.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing E92_MISD >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\E92_MISD.OUT F:\RMVCMP\PUBOUT\E92_MISD.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
ECHO Comparing E93_BADD >> F:\RMVCMP\COMPARE.LOG
|
||||
FC F:\RMVCMP\OUT\E93_BADD.OUT F:\RMVCMP\PUBOUT\E93_BADD.OUT >> F:\RMVCMP\COMPARE.LOG
|
||||
|
||||
ECHO === D22 remove from all files in directory using /FILES === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\FILES\A.TXT TO USER MARIO /FILES > F:\RMVCMP\SETUP\S22_A.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\FILES\B.TXT TO USER MARIO /FILES > F:\RMVCMP\SETUP\S22_B.OUT
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\FILES /FILES > F:\RMVCMP\OUT\D22_FILES_DIR.OUT
|
||||
REM --- Prepare delayed user-context readback. ---
|
||||
COPY F:\test\remove\RMVC.BAT C:\RMVTMP\RMVC.BAT > NUL
|
||||
IF EXIST F:\RMVC.BAT COPY F:\RMVC.BAT C:\RMVTMP\RMVC.BAT > NUL
|
||||
IF EXIST \PUBLIC\DLYSTRT.EXE COPY \PUBLIC\DLYSTRT.EXE C:\RMVTMP > NUL
|
||||
IF EXIST C:\RMVTMP\DLYSTRT.EXE GOTO HAVEDLY
|
||||
ECHO ERROR: DLYSTRT.EXE not found. >> F:\RMVCMP\RUN.LOG
|
||||
ECHO ERROR: DLYSTRT.EXE not found.
|
||||
GOTO END
|
||||
|
||||
ECHO === D30 relative path from F:\RMVTEST === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\ONE TO USER MARIO > F:\RMVCMP\SETUP\S30_GRANT.OUT
|
||||
CD \RMVTEST
|
||||
\NPUBLIC\REMOVE USER MARIO FROM ONE > F:\RMVCMP\OUT\D30_REL_DIR.OUT
|
||||
:HAVEDLY
|
||||
C:
|
||||
CD \RMVTMP
|
||||
DLYSTRT /T:2 RMVC.BAT
|
||||
F:
|
||||
CD \
|
||||
ECHO RMVSTA Part1 finished. Waiting for delayed NOPASSUSER readback.
|
||||
GOTO END
|
||||
|
||||
ECHO === D90 no trustee === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\EMPTY > F:\RMVCMP\OUT\D90_NO_TRUSTEE.OUT
|
||||
:PART2
|
||||
F:
|
||||
CD \
|
||||
IF NOT EXIST RMVCMP MD RMVCMP
|
||||
IF NOT EXIST RMVCMP\UNOV MD RMVCMP\UNOV
|
||||
IF NOT EXIST RMVCMP\UPUB MD RMVCMP\UPUB
|
||||
IF NOT EXIST RMVCMP\USETUP MD RMVCMP\USETUP
|
||||
|
||||
ECHO === D91 missing user === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\REMOVE USER NO_SUCH_USER FROM F:\RMVTEST\ONE > F:\RMVCMP\OUT\D91_MISSING_USER.OUT
|
||||
IF EXIST C:\RMVTMP\UNOV\*.* COPY C:\RMVTMP\UNOV\*.* F:\RMVCMP\UNOV > NUL
|
||||
IF EXIST C:\RMVTMP\UPUB\*.* COPY C:\RMVTMP\UPUB\*.* F:\RMVCMP\UPUB > NUL
|
||||
IF EXIST C:\RMVTMP\USETUP\*.* COPY C:\RMVTMP\USETUP\*.* F:\RMVCMP\USETUP > NUL
|
||||
IF EXIST C:\RMVTMP\HELPER.TXT COPY C:\RMVTMP\HELPER.TXT F:\RMVCMP\HELPER.TXT > NUL
|
||||
IF EXIST C:\RMVTMP\ULOG1.OUT COPY C:\RMVTMP\ULOG1.OUT F:\RMVCMP\ULOG1.OUT > NUL
|
||||
IF EXIST C:\RMVTMP\ULOGIN.OUT COPY C:\RMVTMP\ULOGIN.OUT F:\RMVCMP\ULOGIN.OUT > NUL
|
||||
IF EXIST C:\RMVTMP\ULOG2.OUT COPY C:\RMVTMP\ULOG2.OUT F:\RMVCMP\ULOG2.OUT > NUL
|
||||
IF EXIST C:\RMVTMP\ULGSUP.OUT COPY C:\RMVTMP\ULGSUP.OUT F:\RMVCMP\ULGSUP.OUT > NUL
|
||||
|
||||
ECHO === D92 missing path === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\MISSING > F:\RMVCMP\OUT\D92_MISSING_PATH.OUT
|
||||
|
||||
ECHO === D93 /FILES and /SUBDIRS together === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\OPTBOTH TO USER MARIO > F:\RMVCMP\SETUP\S93_DIR.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\OPTBOTH\SUB TO USER MARIO > F:\RMVCMP\SETUP\S93_SUB.OUT
|
||||
\NPUBLIC\GRANT R F FOR F:\RMVTEST\OPTBOTH\O.TXT TO USER MARIO /FILES > F:\RMVCMP\SETUP\S93_FILE.OUT
|
||||
\NPUBLIC\REMOVE USER MARIO FROM F:\RMVTEST\OPTBOTH /FILES /SUBDIRS > F:\RMVCMP\OUT\D93_BOTH_OPTS.OUT
|
||||
|
||||
ECHO === D94 bad grammar / missing name === >> F:\RMVCMP\RUN.LOG
|
||||
\NPUBLIC\REMOVE USER FROM F:\RMVTEST\ONE > F:\RMVCMP\OUT\D94_BAD_GRAMMAR.OUT
|
||||
ECHO === User-context compare UNOV vs UPUB === > F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G10_R >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G10_R.OUT F:\RMVCMP\UPUB\G10_R.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G11_W >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G11_W.OUT F:\RMVCMP\UPUB\G11_W.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G12_C >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G12_C.OUT F:\RMVCMP\UPUB\G12_C.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G13_E >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G13_E.OUT F:\RMVCMP\UPUB\G13_E.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G14_M >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G14_M.OUT F:\RMVCMP\UPUB\G14_M.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G15_F >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G15_F.OUT F:\RMVCMP\UPUB\G15_F.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G16_A >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G16_A.OUT F:\RMVCMP\UPUB\G16_A.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G17_S >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G17_S.OUT F:\RMVCMP\UPUB\G17_S.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G20_RF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G20_RF.OUT F:\RMVCMP\UPUB\G20_RF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G21_RW >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G21_RW.OUT F:\RMVCMP\UPUB\G21_RW.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G22_RWC >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G22_RWC.OUT F:\RMVCMP\UPUB\G22_RWC.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G23_RWCE >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G23_RWCE.OUT F:\RMVCMP\UPUB\G23_RWCE.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G24_RAL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G24_RAL.OUT F:\RMVCMP\UPUB\G24_RAL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G25_SAL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G25_SAL.OUT F:\RMVCMP\UPUB\G25_SAL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G26_ALL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G26_ALL.OUT F:\RMVCMP\UPUB\G26_ALL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G27_N >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G27_N.OUT F:\RMVCMP\UPUB\G27_N.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G30_RE >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G30_RE.OUT F:\RMVCMP\UPUB\G30_RE.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G31_RWF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G31_RWF.OUT F:\RMVCMP\UPUB\G31_RWF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G32_RCM >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G32_RCM.OUT F:\RMVCMP\UPUB\G32_RCM.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G33_RFA >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G33_RFA.OUT F:\RMVCMP\UPUB\G33_RFA.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G34_WCM >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G34_WCM.OUT F:\RMVCMP\UPUB\G34_WCM.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G35_EMF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G35_EMF.OUT F:\RMVCMP\UPUB\G35_EMF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G36_RMF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G36_RMF.OUT F:\RMVCMP\UPUB\G36_RMF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G37_REMA >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G37_REMA.OUT F:\RMVCMP\UPUB\G37_REMA.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G38_SR >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G38_SR.OUT F:\RMVCMP\UPUB\G38_SR.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G39_SRF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G39_SRF.OUT F:\RMVCMP\UPUB\G39_SRF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing G40_SWCM >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\G40_SWCM.OUT F:\RMVCMP\UPUB\G40_SWCM.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F10_R >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F10_R.OUT F:\RMVCMP\UPUB\F10_R.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F11_RF >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F11_RF.OUT F:\RMVCMP\UPUB\F11_RF.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F12_RAL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F12_RAL.OUT F:\RMVCMP\UPUB\F12_RAL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F13_ALL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F13_ALL.OUT F:\RMVCMP\UPUB\F13_ALL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F14_N >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F14_N.OUT F:\RMVCMP\UPUB\F14_N.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F15_S >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F15_S.OUT F:\RMVCMP\UPUB\F15_S.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing F16_SAL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\F16_SAL.OUT F:\RMVCMP\UPUB\F16_SAL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing S10_R >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\S10_R.OUT F:\RMVCMP\UPUB\S10_R.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing S11_RWC >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\S11_RWC.OUT F:\RMVCMP\UPUB\S11_RWC.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing S12_ALL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\S12_ALL.OUT F:\RMVCMP\UPUB\S12_ALL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
ECHO Comparing S13_SAL >> F:\RMVCMP\UCOMP.LOG
|
||||
FC F:\RMVCMP\UNOV\S13_SAL.OUT F:\RMVCMP\UPUB\S13_SAL.OUT >> F:\RMVCMP\UCOMP.LOG
|
||||
|
||||
ECHO === SUMMARY === > F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO RMVSTA REMOVE baseline finished. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO Expected coverage: >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO - D10-D11 capture normal directory trustee removal syntax. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO - D20 captures /SUBDIRS behavior with trustees on start and child dirs. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO - D21-D22 capture /FILES behavior for explicit file and directory file set. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO - D30 captures relative path behavior with absolute \NPUBLIC\REMOVE invocation. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO - D90-D94 capture error and grammar cases. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO RMVSTA REMOVE comparison finished. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO Direct mode compares NPUBLIC REMOVE against PUBLIC REMOVE. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO User-context mode logs in as NOPASSUSER and compares RIGHTS output after PUBLIC REMOVE. >> F:\RMVCMP\SUMMARY.TXT
|
||||
ECHO Optional: RMVZIP ausfuehren. >> F:\RMVCMP\SUMMARY.TXT
|
||||
|
||||
ECHO RMVSTA fertig.
|
||||
ECHO RMVSTA PART2 fertig.
|
||||
ECHO Ergebnisse liegen in F:\RMVCMP
|
||||
ECHO Optional: RMVZIP ausfuehren.
|
||||
GOTO END
|
||||
|
||||
:NEEDPWD
|
||||
ECHO ERROR: LGNTPWD ist nicht gesetzt.
|
||||
ECHO Fuer den automatischen REMOVE/NOPASSUSER-Test zuerst setzen, z.B.:
|
||||
ECHO SET LGNTPWD=dein-supervisor-passwort
|
||||
ECHO Danach starten:
|
||||
ECHO F:\RMVSTA
|
||||
ECHO Es wurde kein DLYSTRT installiert und kein Test gestartet.
|
||||
|
||||
:END
|
||||
|
||||
@@ -10,12 +10,13 @@ IF EXIST RMVSTA.ZIP DEL RMVSTA.ZIP
|
||||
IF EXIST ZIP.LOG DEL ZIP.LOG
|
||||
|
||||
ECHO Creating RMVSTA.ZIP > ZIP.LOG
|
||||
ZIP -r RMVSTA.ZIP RUN.LOG SUMMARY.TXT OUT SETUP >> ZIP.LOG
|
||||
ZIP -r RMVSTA.ZIP RUN.LOG SUMMARY.TXT COMPARE.LOG UCOMP.LOG HELPER.TXT ULOG1.OUT ULOGIN.OUT ULOG2.OUT ULGSUP.OUT OUT PUBOUT SETUP UNOV UPUB USETUP >> ZIP.LOG
|
||||
|
||||
REM Cleanup generated test directories after ZIP.
|
||||
REM Keep the CMP/result directory because it contains the ZIP and ZIP.LOG.
|
||||
ECHO Cleaning generated test directories... >> ZIP.LOG
|
||||
IF EXIST \RMVTEST\NUL DELTREE /Y \RMVTEST >> ZIP.LOG
|
||||
IF EXIST C:\RMVTMP\NUL DELTREE /Y C:\RMVTMP >> ZIP.LOG
|
||||
CD \
|
||||
ECHO.
|
||||
ECHO ZIP step finished.
|
||||
|
||||
Reference in New Issue
Block a user