HP OpenVMS Systems Documentation |
OpenVMS 用户手册
10.6.2 能够触发安全警报的事件
在以下例子中,假定您决定审查文件 CONFIDREVIEW.MEM。如果用户 ABADGUY 存取 CONFIDREVIEW.MEM 并且有删除存取权,那么以下审查记录写入系统安全审查日志文件。
审查消息揭示作恶者的名称、存取方法 (通过使用程序 [SYSEXE]DELETE.EXE 成功完成删除)、存取时间 (9:21 A.M.)
和存取文件的特权 (SYSPRV) 使用
。根据这个信息,安全管理员可以采取行动。 每当存取任何文件而又满足那个文件 ACL 的审查条目指定的条件时,安全审查消息就被写入安全审查日志文件 (请参阅 10.6.4 节)。存取文件 CONFIDREVIEW.MEM,与存取系统上受到安全审查保护的任何文件一样,提示一个审查记录写入安全审查日志文件。
在引入审查后,就周期性地与安全管理员一起检查是否发生任何非法存取。 如果有一个关键文件可能被不适当地存取,那么可以同安全管理员一起开发一种审查存取这个文件的策略。 一旦看到这种情况,而且确保您已采取了每件可能保护文件的措施,包括标准保护码和一般的 ACL (在 OpenVMS Guide to System Security 中描述),您可能断定必需使用安全审查。 要指定安全审查,可以把特殊的存取控制条目 (ACE) 添加到自己拥有或者有控制存取权的文件。然而要紧记,审查日志文件是全系统的机制,因而 Compaq 建议站点安全管理员要控制使用文件审查。虽然可以把审查 ACE 添加到您有控制权的文件上,但是安全管理员也要在系统级允许审查文件。 如果推测对您的帐户有非法存取企图,安全管理员可能临时允许审查所有文件存取。安全管理员也可以允许审查监视对文件的读存取,以发觉文件的浏览者。 频繁的文件存取违例指出存取问题也与其他文件有关。因此,安全管理员可能需要监视对有安全审查 ACE 的所有关键文件的存取。对关键文件出现不希望的存取时,安全管理员必须立即采取行动。 在以下例子中,用户 RWOODS 和他的安全管理员同时想知道一个高度机密文件 CONFIDREVIEW.MEM 何时被存取,因而 RWOODS 为文件 CONFIDREVIEW.MEM 的现有 ACL 添加一个条目:
第 11 章
|
$ DEFINE COMS DISK7:[WALSH.COMMAND_PROC] |
然后,逻辑名 COMS 可以在 DCL 命令使用,如以下例子所示:
$ SET DEFAULT COMS |
$ TYPE COMS:PAYROLL.COM |
系统建立了一组全系统的逻辑名,用于启动系统和注册。这些逻辑名允许您引用常用的文件或设备,而不使用它们的物理设备名。有关这些名称的列表,请参阅 11.9.3 节。
每次您注册时,系统为您的进程建立一组逻辑名,并把这些名称放入进程表。有关这些名称的列表,请参阅 11.9.1 节。
要列出操作系统的程序,您不必知道存储这些程序的磁盘和目录的名称。您可以使用逻辑名 SYS$SYSTEM 作为代替,如下所示:
$ DIRECTORY SYS$SYSTEM |
注册时,逻辑名 SYS$LOGIN 引用默认设备和目录。如果使用 SET DEFAULT 命令更改了当前默认,那么可以使用以下命令显示来自初始默认目录的文件:
$ TYPE SYS$LOGIN:DAILY_NOTES.DAT |
您可以使用 DEFINE 命令或 ASSIGN 命令建立逻辑名。在本章内,例子中使用 DEFINE 命令。
一般而言,逻辑名建立在进程表中。通常,在注册命令过程 (LOGIN.COM) 定义逻辑名,因而每次注册时,您就可以使用逻辑名。也可以交互地建立逻辑名。然而,只有在当前进程是活动时,才可以使用这些逻辑名。
在您的进程表中建立的逻辑名不可用于其他用户的进程。系统管理员或其他特权用户可以在可共享表中建立名称,其他用户可以存取。组和系统表是可共享表的例子。
有关可共享表的详情,请参阅 11.9.4 节。11.3.1 使用 DEFINE 命令
用 DEFINE 命令定义逻辑名的格式如下所示:
DEFINE logical-name equivalence-string[,...] |
可以使用同样的格式为节点名、文件说明、设备名、应用程序特定的信息、或其他逻辑名建立逻辑名。
按照默认,DEFINE 命令把逻辑名放入您的进程逻辑名表 (请参阅 11.8 节),其中的逻辑名只可用于您的进程和子进程。如果想要把逻辑名添加到不同的逻辑名表,那么可以使用以下限定词之一指定另一个表: /JOB、/GROUP、/SYSTEM 或 /TABLE=table_name。前三个 限定词分别指定默认的作业、组和系统逻辑名表。/TABLE=table_name 可以用来指定任何类型的表,并且只有使用这个限定词才能指定一个簇范围表。
在以下例子中,该命令建立逻辑名 WORKFILE,使之等同于等价串 DISK2:[WALSH.REPORTS]WORK_SUMMARY.DAT:
$ DEFINE WORKFILE DISK2:[WALSH.REPORTS]WORK_SUMMARY.DAT |
在把 WORKFILE 定义为一个逻辑名后,可以使用这个逻辑名代替其等价串。
在下一个例子中,该命令为打印队列 BLDGC_LPS20_ANSI 建立逻辑名 MY_Q for:
$ DEFINE MY_Q BLDGC_LPS20_ANSI |
然后,可以使用以下命令到 BLDGC_LPS20_ANSI 打印队列打印文件 FABLES.TXT:
$ PRINT/QUEUE=MY_Q FABLES.TXT |
下一个例子展示使用 /TABLE=table_name 限定词在一个不同于进程逻辑名表的表中建立一个逻辑名。通过指定 LNM$SYSCLUSTER,把逻辑名放入默认簇范围表 LNM$SYSCLUSTER_TABLE,因此簇上每个用户可存取。
$ DEFINE/TABLE=LNM$SYSCLUSTER CUSTOMERS DISK1:[CUSTOMER_VISITS]CUSTOMERS.TXT |
在命令过程中可以使用逻辑名执行文件 I/O (输入和输出)。用 OPEN 命令打开文件时,也可以为那个文件建立一个逻辑名。后续的 READ、WRITE 和 CLOSE 命令可以使用这个逻辑名代替实际的文件说明引用文件。
在以下例子中,OPEN 命令建立逻辑名 INFILE,而 CLOSE 命令删除它:
$ OPEN INFILE DISK3:[WALSH]DATA.DAT $ READ INFILE RECORD $ CLOSE INFILE |
以下命令显示文件 DISK1:[SALES_STAFF]PAYROLL.DAT:
$ DEFINE PAY DISK1:[SALES_STAFF]PAYROLL.DAT $ TYPE PAY |
$ DEFINE PAY_FILE DISK1:[SALES_STAFF]PAYROLL $ TYPE PAY_FILE:*.DAT |
$ DEFINE PAY_DIR DISK1:[SALES_STAFF] $ TYPE PAY_DIR:PAYROLL.DAT |
$ DEFINE PAY_DISK DISK1: $ TYPE PAY_DISK:[SALES_STAFF]PAYROLL.DAT |
当建立一个逻辑名时,可以指定翻译属性来修改系统解释等价串的方式。
要把翻译属性应用于一个等价串,对 DEFINE 命令使用 /TRANSLATION_ATTRIBUTES 限定词。这是一个定位限定词。它可以把翻译属性应用于所有等价串或者只应用于某些等价串,这取决于它在命令行中的位置,。
在以下例子中,设备名 DJA3: 被逻辑名 DISK 隐藏:
$ DEFINE/TRANSLATION_ATTRIBUTES=CONCEALED DISK DJA3: $ SHOW DEFAULT DISK:[SAM.PUP] $ SHOW LOGICAL DISK "DISK" = "DJA3" (LNM$PROCESS_TABLE) |
逻辑名 DISK 表示物理设备 DJA3。因而,SHOW DEFAULT 命令显示逻辑名 DISK 而不显示物理设备名 DJA3。SHOW LOGICAL 命令展现 DISK 的翻译。
CONCEALED 属性使系统消息显示逻辑名,而不是设备的物理名。通常,您对表示物理设备的逻辑名使用 CONCEALED 属性。使用隐蔽设备使您编写程序、编写命令过程和执行其他操作时,不用关心是哪个物理设备拥有磁盘或磁带。它也使您能够使用比物理设备名更有意义的名称。
TERMINAL 属性阻止逻辑名的迭代翻译
(即不检查等价串是否也是逻辑名)。第一次翻译后,翻译就 "终止" (最后或已完成)。11.3.5 存取模式
OpenVMS 操作系统有以下四种存取模式:
可以使用 DCL 命令 DEFINE 或 ASSIGN 以前三个模式 (用户、监督程序和执行) 建立逻辑名。通过为每个逻辑名定义指定不同的存取模式,可以在同样的逻辑名表中把同样的逻辑名等同于不同的等价串。注意,必须有 SYSNAM 或 SYSPRV 特权才能以执行模式在任何逻辑名表中建立逻辑名。
在用户模式下建立的逻辑名是临时的。当您只想在执行下一个命令或映象使用它时,就以用户模式定义逻辑名。
在以下例子中,在程序 PAYABLE 执行后就自动删除逻辑名 ADDRESSES:
$ DEFINE/USER_MODE ADDRESSES DISK1:[SAM.ACCOUNTS]OVERDUE.LIS $ RUN PAYABLE |
监督程序模式
当使用 DEFINE 命令不指定一个模式时,DCL 就以监督程序模式建立逻辑名。
在以下例子中,这些命令在进程逻辑名表中把逻辑名 ACCOUNTS 等同于两个不同的等价串,一个是监督程序模式,而另一个是执行模式:
$ DEFINE ACCOUNTS DISK1:[ACCOUNTS]CURRENT.DAT $ DEFINE/EXECUTIVE_MODE ACCOUNTS DISK1:[JANE.ACCOUNTS]OBSOLETE.DAT |
在查寻逻辑名过程中,所有特权映象和公用程序 (如 LOGINOUT) 忽略用户模式和监督程序模式名称和表。如果一个逻辑名要被特权映象 (包括公用程序) 使用,那么它必须在执行或核心模式表中以执行或核心模式定义。逻辑名必须以执行模式定义的其他情形是工作组和系统资源使用的公用目录名,如打印队列和系统磁盘。
只有操作系统和特权程序才可以在核心模式下建立逻辑名。11.3.6 建立逻辑节点名
您可以使用一个逻辑节点名代替网络节点名,或者代替一个节点名和一个存取控制字符串。一旦定义了一个逻辑节点名,就可以使用它以避免在屏幕上键入 (和显示) 您的用户名和密码。
要定义一个逻辑节点名,遵守以下规则:
不要把包括密码的 DEFINE 命令放入一个文件中 (例如,注册命令过程)。否则,如果其他人阅读这个文件,就能看到这个密码。 |
在以下例子中,该命令把逻辑名 BOS 等同于节点名 BOSTON 和一个存取控制字符串,在此,ADAMS 是用户名而 OLMEKIKA 是密码:
$ DEFINE BOS "BOSTON""ADAMS OLMEKIKA""::" |
一个文件说明可以包含一个逻辑节点名 (系统在本地节点翻译) 和一个逻辑设备名 (系统在远程节点翻译)。如果只使用一个逻辑名表示节点名,那么当您在文件说明的节点位置使用这个逻辑名时,必须包括一个双冒号 (::)。
系统在本地节点翻译了一个逻辑节点名之后,它分析文件说明的其余部分确定格式是否有效。
在以下例子中,系统在本地节点翻译逻辑节点名 NYC。在远程节点 (NEWYRK) 翻译逻辑设备名 (DOC:):
$ DEFINE NYC NEWYRK:: $ TYPE NYC::DOC:[PERKINS]TERM_PAPER.DAT |
要在逻辑节点名中取代存取控制字符串,在命令行中指定逻辑名和一个存取控制字符串。
在以下例子中,存取控制字符串 "REVERE HTEBAZILE" 取代 BOS 等价串给出的存取控制字符串:
$ DEFINE BOS "BOSTON""ADAMS OLMEKIKA""::" $ TYPE BOS"REVERE HTEBAZILE"::RIDE.DAT |
当系统迭代地翻译一个逻辑节点名时,首次翻译的逻辑节点名的存取控制信息将取代以后的存取控制信息。例如,逻辑名 TEST1 翻译为 TORONTO"TEST NAMWENLUAP"::DBA1: :
$ DEFINE TORONTO "TRNTO""TEST EIZNEKCAM""::" $ DEFINE TEST1 "TORONTO""TEST NAMWENLUAP""::DBA1:" $ TYPE TEST1:PROC.DAT |
TORONTO 是一个逻辑节点名,因而发生迭代翻译。换句话说,操作系统搜索逻辑名表,直到查找出所有级别的逻辑名定义。然而,DEFINE TEST1 逻辑名赋值中的存取控制字符串取代 DEFINE TORONTO 逻辑节点名赋值中的存取控制字符串。因此,TYPE 命令显示以下文件:
TRNTO"TEST NAMWENLUAP"::DBA1:PROC.DAT |
前页 | 后页 | 目录 | 索引 |