[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引

10.6.2 能够触发安全警报的事件

触发审查或警报的事件可以包括以下:

开始安全审查或警报的事件例子
安装映象

某些类型的文件存取

卷装上和卸下
修改系统和用户密码、系统授权文件、网络代理文件或权限数据库
ACL 文件或全局段请求的存取事件 注册、注销、注册失败、非法存取企图

在以下例子中,假定您决定审查文件 CONFIDREVIEW.MEM。如果用户 ABADGUY 存取 CONFIDREVIEW.MEM 并且有删除存取权,那么以下审查记录写入系统安全审查日志文件。


%%%%%%%%%%%  OPCOM  11-DEC-1999 09:21:11.10  %%%%%%%%%%%
Message from user AUDIT$SERVER on BOSTON
Security audit (SECURITY) on BOSTON, system id: 19424
Auditable event:        Attempted file access
Event time:              11-DEC-1999 09:21:10.84
PID:                    23E00231
Username:               ABADGUY
Image name:             BOSTON$DUA0:[SYS0.SYSCOMMON.][SYSEXE]DELETE.EXE
Object name:            _BOSTON$DUA1:[RWOODS]CONFIDREVIEW.MEM;1
Object type:            file
Access requested:       DELETE
Status:                 %SYSTEM-S-NORMAL, normal successful completion
Privileges used:        SYSPRV

审查消息揭示作恶者的名称、存取方法 (通过使用程序 [SYSEXE]DELETE.EXE 成功完成删除)、存取时间 (9:21 A.M.) 和存取文件的特权 (SYSPRV) 使用 。根据这个信息,安全管理员可以采取行动。

10.6.3 安全审查日志文件

每当存取任何文件而又满足那个文件 ACL 的审查条目指定的条件时,安全审查消息就被写入安全审查日志文件 (请参阅 10.6.4 节)。存取文件 CONFIDREVIEW.MEM,与存取系统上受到安全审查保护的任何文件一样,提示一个审查记录写入安全审查日志文件。

在引入审查后,就周期性地与安全管理员一起检查是否发生任何非法存取。

10.6.4 为敏感文件添加 ACE

如果有一个关键文件可能被不适当地存取,那么可以同安全管理员一起开发一种审查存取这个文件的策略。

一旦看到这种情况,而且确保您已采取了每件可能保护文件的措施,包括标准保护码和一般的 ACL (在 OpenVMS Guide to System Security 描述),您可能断定必需使用安全审查。

要指定安全审查,可以把特殊的存取控制条目 (ACE) 添加到自己拥有或者有控制存取权的文件。然而要紧记,审查日志文件是全系统的机制,因而 Compaq 建议站点安全管理员要控制使用文件审查。虽然可以把审查 ACE 添加到您有控制权的文件上,但是安全管理员也要在系统级允许审查文件。

如果推测对您的帐户有非法存取企图,安全管理员可能临时允许审查所有文件存取。安全管理员也可以允许审查监视对文件的读存取,以发觉文件的浏览者。

频繁的文件存取违例指出存取问题也与其他文件有关。因此,安全管理员可能需要监视对有安全审查 ACE 的所有关键文件的存取。对关键文件出现不希望的存取时,安全管理员必须立即采取行动。

在以下例子中,用户 RWOODS 和他的安全管理员同时想知道一个高度机密文件 CONFIDREVIEW.MEM 何时被存取,因而 RWOODS 为文件 CONFIDREVIEW.MEM 的现有 ACL 添加一个条目:


$ SET SECURITY/ACL=(ALARM=SECURITY,ACCESS=READ+WRITE-
_$ +DELETE+CONTROL+FAILURE+SUCCESS) CONFIDREVIEW.MEM


第 11 章
定义设备和文件的逻辑名

逻辑名可以用来代替另一个表示系统对象,诸如文件、目录、设备或队列的名称。例如,可以把一个逻辑名分配给您的默认磁盘和目录。逻辑名提供两个主要功能: 增加可读性和文件独立性。

可以用简短、有意义的逻辑名定义常用的文件、目录和设备。这样的名称比完整文件说明更容易记住和键入。您可以定义在注册命令过程中频繁使用的名称。系统管理员可以定义在系统启动命令过程中人们频繁使用的名称。

您可以使用逻辑名使您的程序和命令过程与物理的文件说明无关。例如,如果一个命令过程引用逻辑名 ACCOUNTS,那么可以把 ACCOUNTS 等同于在任何磁盘上的任何文件。本章包括以下信息:

  • 逻辑名特征
  • 使用系统定义的逻辑名
  • 建立逻辑名
  • 删除逻辑名
  • 逻辑名翻译
  • 显示逻辑名
  • 建立和使用搜索列表
  • 逻辑名表特征
  • 默认逻辑名表
  • 建立逻辑名表
  • 修改逻辑名翻译的次序
  • 删除逻辑名表
  • 与进程并存的逻辑名

有关在本章中描述的命令详情,请参阅 OpenVMS DCL Dictionary 或联机求助。

11.1 逻辑名特征

逻辑名有以下特征:

  • 等同于字符串 (称为等价串或等价名) 或一个等价串列表 (称为搜索列表)。当使用一个逻辑名时,等价串要代替其逻辑名。
  • 存储在默认逻辑名表或建立的逻辑名表。
  • 可以是长文件说明的简写。
  • 可以由您或由系统定义。
  • 可以使用逻辑名使程序和命令过程与物理的文件说明无关。例如,如果一个命令过程引用逻辑名 ACCOUNTS,那么在执行命令过程之前可以把 ACCOUNTS 等同于在任何磁盘上的任何文件。

一般而言,当命令接受一个系统对象时,该命令检查您提供的名称是否逻辑名。如果该名称是一个逻辑名,系统就用它的实际值替换逻辑名并执行这个命令。

在以下例子中,建立逻辑名 COMS 表示目录 DISK7:[WALSH.COMMAND_PROC]:


$ DEFINE COMS DISK7:[WALSH.COMMAND_PROC]

然后,逻辑名 COMS 可以在 DCL 命令使用,如以下例子所示:


$ SET DEFAULT COMS


$ TYPE COMS:PAYROLL.COM

11.2 使用系统定义的逻辑名

系统建立了一组全系统的逻辑名,用于启动系统和注册。这些逻辑名允许您引用常用的文件或设备,而不使用它们的物理设备名。有关这些名称的列表,请参阅 11.9.3 节

每次您注册时,系统为您的进程建立一组逻辑名,并把这些名称放入进程表。有关这些名称的列表,请参阅 11.9.1 节

要列出操作系统的程序,您不必知道存储这些程序的磁盘和目录的名称。您可以使用逻辑名 SYS$SYSTEM 作为代替,如下所示:


$ DIRECTORY SYS$SYSTEM

注册时,逻辑名 SYS$LOGIN 引用默认设备和目录。如果使用 SET DEFAULT 命令更改了当前默认,那么可以使用以下命令显示来自初始默认目录的文件:


$ TYPE SYS$LOGIN:DAILY_NOTES.DAT

11.3 建立逻辑名

您可以使用 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

11.3.2 在命令过程中为文件 I/O 建立逻辑名

在命令过程中可以使用逻辑名执行文件 I/O (输入和输出)。用 OPEN 命令打开文件时,也可以为那个文件建立一个逻辑名。后续的 READ、WRITE 和 CLOSE 命令可以使用这个逻辑名代替实际的文件说明引用文件。

在以下例子中,OPEN 命令建立逻辑名 INFILE,而 CLOSE 命令删除它:


$ OPEN INFILE DISK3:[WALSH]DATA.DAT
$ READ INFILE RECORD
$ CLOSE INFILE

11.3.3 建立逻辑名的规则

用 DEFINE 命令建立逻辑名时,遵守以下规则 :

  • 限制每个等价串和逻辑名不多于 255 个字符。逻辑名可以包含字母数字字符、下划线 (_)、美元符 ($) 和连字号 (-)。
  • 指定一个等价串时,包括文件说明需要的标点符号 (冒号、中括号、句点)。例如,用冒号结束设备名,把目录说明括入中括号内,并且文件类型前导一个句点。
  • 如果一个逻辑名只表示一部分文件说明,那么用一个冒号把该名称与文件说明的其余部分分开。当使用一个逻辑名表示一个完整文件说明时,则不需要结束冒号。
    另外,确信逻辑名是文件说明的最左部分。
  • 可选地,用一个冒号结束逻辑名。
    注意,ASSIGN 命令在把逻辑名放入逻辑名表之前除去这个冒号;DEFINE 命令保存冒号作为逻辑名的一部分。
  • 如果把一个逻辑名等同于一个等价串,然后再使同一逻辑名等同于另一等价串。那么第二个定义将取代第一个,除非把它们定义在不同的逻辑名表中或以不同的存取模式定义它们。

以下命令显示文件 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

11.3.4 翻译属性

当建立一个逻辑名时,可以指定翻译属性来修改系统解释等价串的方式。

要把翻译属性应用于一个等价串,对 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 建立逻辑节点名

您可以使用一个逻辑节点名代替网络节点名,或者代替一个节点名和一个存取控制字符串。一旦定义了一个逻辑节点名,就可以使用它以避免在屏幕上键入 (和显示) 您的用户名和密码。

要定义一个逻辑节点名,遵守以下规则:

  • 不能用下划线 (_) 开始逻辑名。
  • 用一个双冒号 (::) 结束等价串,并把它括入引号 (" ") 内。
  • 在存取控制字符串中出现引号的位置,使用两组引号 ("" "")。
    (有关存取控制字符串的详情,请参阅本手册的 3.1.6 节3.1.12 节10.5 节。)
  • 指定一个包含 1 至 255 字符之内的逻辑名。

警告

不要把包括密码的 DEFINE 命令放入一个文件中 (例如,注册命令过程)。否则,如果其他人阅读这个文件,就能看到这个密码。

在以下例子中,该命令把逻辑名 BOS 等同于节点名 BOSTON 和一个存取控制字符串,在此,ADAMS 是用户名而 OLMEKIKA 是密码:


$ DEFINE BOS "BOSTON""ADAMS OLMEKIKA""::"

11.3.6.1 在文件说明中使用逻辑节点名

一个文件说明可以包含一个逻辑节点名 (系统在本地节点翻译) 和一个逻辑设备名 (系统在远程节点翻译)。如果只使用一个逻辑名表示节点名,那么当您在文件说明的节点位置使用这个逻辑名时,必须包括一个双冒号 (::)。

系统在本地节点翻译了一个逻辑节点名之后,它分析文件说明的其余部分确定格式是否有效。

在以下例子中,系统在本地节点翻译逻辑节点名 NYC。在远程节点 (NEWYRK) 翻译逻辑设备名 (DOC:):


$ DEFINE NYC NEWYRK::
$ TYPE NYC::DOC:[PERKINS]TERM_PAPER.DAT

11.3.6.2 取代存取控制字符串

要在逻辑节点名中取代存取控制字符串,在命令行中指定逻辑名和一个存取控制字符串。

在以下例子中,存取控制字符串 "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


前页 后页 目录 索引