<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michaelohare</id>
	<title>VSI OpenVMS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michaelohare"/>
	<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/Special:Contributions/Michaelohare"/>
	<updated>2026-04-17T11:27:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Security_Auditing&amp;diff=2762</id>
		<title>Security Auditing</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Security_Auditing&amp;diff=2762"/>
		<updated>2026-02-11T17:29:37Z</updated>

		<summary type="html">&lt;p&gt;Michaelohare: /* Audit Server Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Security Auditing&#039;&#039;&#039; is a feature in OpenVMS that allows the system manager to track certain system events such as logins and access to resources for security purposes. Each time an audited event occurs, a record is made in the security audit log file that contains information about that event and/or an alarm is displayed on an [[REPLY/ENABLE|operator terminal]].&lt;br /&gt;
&lt;br /&gt;
The [[ANALYZE/AUDIT]] utility allows you to view the audit log file. The [[SET AUDIT]] command defines the classes of events that are tracked in the audit log file.&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
The full list of events can be found [[SET AUDIT#Keywords|here]]. Applications and system programs can contribute security event information by calling the following [[System Service|system services]]:&lt;br /&gt;
* [[$AUDIT_EVENT]]: the operating system calls the [[$AUDIT_EVENT]] system service every time a security-relevant event occurs n the system. By looking at the [[SET AUDIT]] settings, the system service determines whether you enabled uditing for the event. When the event is enabled for alarms or audits, [[$AUDIT_EVENT]] generates an audit ecord that identifies the process (subject) involved and lists event information supplied by its caller. &lt;br /&gt;
* [[$CHECK_PRIVILEGE]]: the operating system calls the $CHECK_PRIVILEGE system service any time a user attempts to perform a [[Privileges|privileged]] function. The system service performs the privilege check and looks at the [[SET AUDIT]] settings to determine whether you enabled privilege auditing. When privilege auditing is enabled, [[$CHECK_PRIVILEGE]] generates an audit record. The audit record identifies the process (subject) and privilege involved, provides the result of the privilege check,&lt;br /&gt;
and lists supplemental event information supplied by its caller. Privilege audit records usually contain the DCL command line or system service name associated with the privilege check. &lt;br /&gt;
* [[$CHKPRO]]: the operating system calls the $CHKPRO system service any time a process (subject) attempts to access aprotected object. By looking at the [[SET AUDIT]] settings for the associated object class, the service determines whether you enabled auditing for the associated object access event. When an alarm or an audit is required, [[$CHKPRO]] generates an audit record that identifies the process (subject) and object involved and includes the final outcome and any supplemental event information supplied by its caller. &lt;br /&gt;
* [[$CHECK_ACCESS]]: privileged server processes use the [[$CHECK_ACCESS]] system service to determine whether their clients should be allowed access to the protected objects being served. The [[$CHECK_ACCESS]] system service provides a calling interface appropriate for servers and is layered on top of the $CHKPRO service. As a result, it performs object access auditing in the same manner as [[$CHKPRO]]. &lt;br /&gt;
&lt;br /&gt;
=Security Audit=&lt;br /&gt;
Messages of events enabled for security audit (with the [[SET AUDIT]]/ENABLE=events /AUDIT command or by setting the AUDIT [[Account flags|account flag]]) are written to the security audit log file.&lt;br /&gt;
&lt;br /&gt;
=Security Alarms=&lt;br /&gt;
Messages of events enabled for security alarms (with the [[SET AUDIT]]/ENABLE=events /ALARM command) are written to [[REPLY/ENABLE|operator terminal]]. It is recommended that real-time events or events that should be treated immediately be enabled as both alarms and audits. To enable a terminal to receive security alarms, use [[REPLY/ENABLE]]=SECURITY.&lt;br /&gt;
&lt;br /&gt;
=Security Audit Log File=&lt;br /&gt;
The operating system writes all security event messages to the latest version of the security audit log file. This log file is created by default during system startup in the SYS$COMMON:[SYSMGR] directory and named SECURITY.AUDIT$JOURNAL. The current file name can be viewed with [[SHOW AUDIT]]/JOURNAL. Typically, sites rename each day&#039;s log file and create a new one with [[SET AUDIT]]/SERVER=NEW_LOG.&lt;br /&gt;
&lt;br /&gt;
To change the location of the security audit log file, use [[SET AUDIT]]/JOURNAL=SECURITY /DESTINATION=filespec. This should be done in [[SYSSECURITY.COM]] hefore the [[AUDIT_SERVER|audit server]] is started. Make sure that the file name you assign resolves to the same file throughout the cluster, not a file unique to each node.&lt;br /&gt;
&lt;br /&gt;
Copies of audit messages can be sent to a remote log file (called an archive file) or a listener [[Mailbox|mailbox]]. This can be done with [[SET AUDIT]]/ARCHIVE and [[SET AUDIT]]/LISTENER respectively; full instructions can be found in {{Template:Sec}}.&lt;br /&gt;
&lt;br /&gt;
To analyze the security audit log file, use [[ANALYZE/AUDIT]]. {{Template:Sec}} contains relevant instructions and useful tips.&lt;br /&gt;
&lt;br /&gt;
=Audit Server Database=&lt;br /&gt;
Settings of the audit server established with the [[SET AUDIT]] command including the location of the security audit log file are stored in the audit server database, VMS$AUDIT_SERVER.DAT in SYS$COMMON:[SYSMGR]. To move the audit server database, redefine the VMS$AUDIT_SERVER logical name in the system logical name table in executive mode - this should be done in [[SYSECURITY.COM]] before the [[AUDIT_SERVER|audit server]] starts.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
[[Category:Utilities]]&lt;/div&gt;</summary>
		<author><name>Michaelohare</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=OPCOM&amp;diff=2705</id>
		<title>OPCOM</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=OPCOM&amp;diff=2705"/>
		<updated>2025-06-18T19:21:49Z</updated>

		<summary type="html">&lt;p&gt;Michaelohare: /* Privileges */ spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;OPCOM&#039;&#039;&#039;, or the Operator Communication Manager, is a tool for communicating with users and operators on an OpenVMS system. It displays messages and events on terminals designated as operator terminals and writes them to a log file.&lt;br /&gt;
&lt;br /&gt;
=Event Classes=&lt;br /&gt;
The following event classes can be enabled for OPCOM:&lt;br /&gt;
* CENTRAL&lt;br /&gt;
* PRINTER&lt;br /&gt;
* TAPES&lt;br /&gt;
* DISKS&lt;br /&gt;
* CARDS&lt;br /&gt;
* NETWORK&lt;br /&gt;
* SECURITY&lt;br /&gt;
* LICENSE&lt;br /&gt;
* OPER1 through OPER12&lt;br /&gt;
&lt;br /&gt;
=Related Logicals=&lt;br /&gt;
* OPC$OPA0_ENABLE enables or disables [[OPA0:]] as the operator terminal by default&lt;br /&gt;
* OPC$OPA0_CLASSES specifies the classes enabled for OPCOM on OPA0:&lt;br /&gt;
* OPC$LOGFILE_NAME specifies the location of the log file&lt;br /&gt;
* OPC$LOGFILE_ENABLE enables the creation of OPERATOR.LOG&lt;br /&gt;
* OPC$ALLOW_INBOUND enables the inbound traffic from a node&lt;br /&gt;
* OPC$ALLOW_OUTBOUND enables the outbound traffic to a node&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
REPLY/LOG enables a terminal as an operator and opens a new version of [[OPERATOR.LOG]]&lt;br /&gt;
REPLY/ENABLE enables a terminal as an operator for the classes specified as keywords&lt;br /&gt;
REPLY/DISABLE disables a terminal as an operator for the classes specified as keywords&lt;br /&gt;
&lt;br /&gt;
=Privileges=&lt;br /&gt;
Using OPCOM requires the following privileges:&lt;br /&gt;
* [[OPER]] to enable or disable the operator terminal (for all classes of events)&lt;br /&gt;
* [[SHARE]] to log into the designated operator&#039;s terminal as another process&lt;br /&gt;
* [[SECURITY]] to enable or disable security events in the terminal&lt;br /&gt;
* none to send messages to an operator&lt;br /&gt;
&lt;br /&gt;
=Operator Log=&lt;br /&gt;
By default, the operator log is stored in SYS$MANAGER:OPERATOR.LOG. The logfile is created if OPC$LOGFILE_ENABLE is defined as &amp;quot;TRUE&amp;quot; every time the system is rebooted. The classes are taken from OPC$LOGFILE_CLASSES or, if a log file is already open, from the current log file. If the logical does not exist, all classes are enabled. If OPC$LOGFILE_CLASSES contains an invalid class, all classes are enabled. In a clustered environment, this file is node specific.&lt;br /&gt;
Messages that get into the log file can be controlled with REPLY/LOG/ENABLE and REPLY/LOG/DISABLE. Generally, messages that are logged to OPA0: also go to the operator log except the following:&lt;br /&gt;
&lt;br /&gt;
* System SECURITY alarms and audits enabled using SET AUDIT command. These SECURITY messages are either logged to operator terminal and/or to [[SECURITY.AUDIT$JOURNAL|SYS$COMMON:[SYSMGR]SECURITY.AUDIT$JOURNAL]].&lt;br /&gt;
* Messages generated by the [[LANACP]] LAN Server process when a device status changes. These messages are displayed on the operator terminal and included in the log file written by LANACP, SYS$MANAGER:LAN$ACP.LOG.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{SysmanI}}&lt;/div&gt;</summary>
		<author><name>Michaelohare</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=DEVOUR_privileges&amp;diff=2701</id>
		<title>DEVOUR privileges</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=DEVOUR_privileges&amp;diff=2701"/>
		<updated>2025-04-01T15:28:51Z</updated>

		<summary type="html">&lt;p&gt;Michaelohare: sp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DEVOUR&#039;&#039;&#039; is a group of [[Privileges|privileges]] that contains privileges with a potential to control noncritical systemwide resources:&lt;br /&gt;
&lt;br /&gt;
* [[ACNT]] allows a process to create processes in which [[Accounting|accounting]] is disabled&lt;br /&gt;
* [[ALLSPOOL]] allows a process to allocate a spooled device&lt;br /&gt;
* [[BUGCHK]] allows a process to make bugcheck error log entries from user, supervisor, or compatibility mode or to send messages to the system error logger&lt;br /&gt;
* [[EXQUOTA]] allows a process to exceed any disk volume usage quotas set by the user&#039;s [[SYSUAF|account]]&lt;br /&gt;
* [[GRPNAM]] allows a process to bypass discretionary access controls on the system logical name tables in order to insert names into the [[Logical Name Table|logical name table]] for the group that the process belongs to or delete names from it&lt;br /&gt;
* [[PRMCEB]] allows a process to create or delete permanent common event flag clusters&lt;br /&gt;
* [[PRMGBL]] allows a process to create or delete permanent global sections&lt;br /&gt;
* [[PRMMBX]] allows a process to create or delete a permanent [[Mailbox|mailbox]]&lt;br /&gt;
* [[SHMEM]] allows a process to create global sections and [[Mailbox|mailboxes]] in memory shared by multiple processors if the process also has appropriate [[PRMGBL]], [[PRMMBX]], [[SYSGBL]] and [[TMPMBX]] privileges.&lt;br /&gt;
&lt;br /&gt;
[[Category:Devour Privileges]]&lt;/div&gt;</summary>
		<author><name>Michaelohare</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=OBJECT_privileges&amp;diff=2700</id>
		<title>OBJECT privileges</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=OBJECT_privileges&amp;diff=2700"/>
		<updated>2025-04-01T15:28:07Z</updated>

		<summary type="html">&lt;p&gt;Michaelohare: sp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;OBJECT&#039;&#039;&#039; is a group of [[Privileges|privileges]] that has potential to compromise the security of [[Object Class|protected objects]] such as [[File|files]] or [[Logical Name Table|logical name tables]]. It includes:&lt;br /&gt;
&lt;br /&gt;
* [[DIAGNOSE]] allows a process to run online diagnostic programs and intercept and copy messages written to the error log file&lt;br /&gt;
* [[READALL]] allows a process to bypass existing restrictions that would otherwise prevent the process from reading an object (such as [[UIC Protection]] or [[ACL|ACLS]])&lt;br /&gt;
* [[VOLPRO]] allows a process to affect [[Volume|volumes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Object Privileges]]&lt;/div&gt;</summary>
		<author><name>Michaelohare</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Privileges&amp;diff=2699</id>
		<title>Privileges</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Privileges&amp;diff=2699"/>
		<updated>2025-04-01T14:24:22Z</updated>

		<summary type="html">&lt;p&gt;Michaelohare: /* Types of process privileges */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Privileges&#039;&#039;&#039; are permissions that a process can have on an OpenVMS system to access system objects and resources. Privileges are stored in each user&#039;s [[User record|user record]] in the [[SYSUAF]] file.&lt;br /&gt;
&lt;br /&gt;
=Types of process privileges=&lt;br /&gt;
A process can have default and authorized privileges. Default privileges are granted as soon as the user logs in and can be used immediately. Authorized privileges need to be enabled with the SET PROCESS/PRIVILEGE command.&lt;br /&gt;
&lt;br /&gt;
=Categories of privilege=&lt;br /&gt;
Privileges are divided into the following seven categories according to the damage that the user possessing them could cause the system:&lt;br /&gt;
&lt;br /&gt;
* None: No privileges&lt;br /&gt;
* [[NORMAL privileges|Normal]]: Minimum privileges to effectively use the system&lt;br /&gt;
* [[GROUP privileges|Group]]: Potential to interfere with members of the same group&lt;br /&gt;
* [[DEVOUR privileges|Devour]]: Potential to consume noncritical systemwide resources&lt;br /&gt;
* [[SYSTEM privileges|System]]: Potential to interfere with normal system operation&lt;br /&gt;
* [[OBJECT privileges|Object]]: Potential to compromise object security&lt;br /&gt;
* [[ALL privileges|All]]: Potential to control the system&lt;/div&gt;</summary>
		<author><name>Michaelohare</name></author>
	</entry>
</feed>