What is inotify:
inotify is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications.
for OpenVMS?
What is inotify:
inotify is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications.
for OpenVMS?
The only thing I know of in OpenVMS that looks similar to what inotify does is the SET WATCH command.
See http://labs.hoffmanlabs.com/node/217 or http://www.openvms.compaq.com/wizard/wiz_1843.html for some basic info.
Another way would be to add an ACL to the file that generates a security audit event
An ACL is an access control list, it consists of ACE's (access control entries)
This would need to be done at different places. 1 is on the object you want to audit and then other is to enable the audit to be captured and reported
However, this auditing will catch the event but will not relay it to another application. The application that is interested in the event would need to access the audit logging facility to extract the event
For example, to add an alarm ACE to a file called SECUREFILE.DAT
$ SET SECURITY/ACL=(ALARM=SECURITY,ACCESS=READ+WRITE- _$ +DELETE+CONTROL+FAILURE+SUCCESS) SECUREFILE.DAT
This will cause the file system to trigger an alarm every time the SECUREFILE.DAT file is accessed for READ or WRITE or DELETE and whether or not the file header is changed and whether or not an attempt for the above events were successful or not
You do this through the set audit command. The documentation is extensive on this command as OpenVMS can audit a large number of events, from files, to queues to logical name tables etc
Here is a snippet from the VMS help
SET
AUDIT
Provides the management interface to the security auditing
system.
Requires the SECURITY privilege.
Format
SET AUDIT/qualifier
There are five categories of qualifiers, grouped by task, for the
SET AUDIT command:
Task Qualifiers Requirements
Define /AUDIT, Specify whether you are defining
auditing /ALARM, alarms (/ALARM), audits (/AUDIT),
events /CLASS, or both. Also specify whether you
/ENABLE, are enabling (/ENABLE) or disabling
/DISABLE (/DISABLE) the reporting of the
event.
Define /DESTINATION, Requires both the /DESTINATION and
auditing /JOURNAL, /JOURNAL qualifiers.
log file /VERIFY
Define /INTERVAL, None.
operational /LISTENER,
character- /SERVER,
istics of /VERIFY
the audit
server and
a listener
mailbox (if
any)
Define /ARCHIVE, None.
secondary /DESTINATION,
log file /VERIFY
Define /BACKLOG, With the /RESOURCE or /THRESHOLD
resource /EXCLUDE, qualifier, include the /JOURNAL
monitoring /JOURNAL, qualifier.
defaults /RESOURCE,
/THRESHOLD,
/VERIFY
Additional information available:
Qualifiers
/ALARM /ARCHIVE /AUDIT /BACKLOG /CLASS /DESTINATION /DISABLE /ENABLE /EXCLUDE /FAILURE_MODE
/INTERVAL /JOURNAL /LISTENER /RESOURCE /SERVER /THRESHOLD /VERIFY
Examples
Best to read up on the documentation
During the recent Technical Update Days in October 2011, I asked OpenVMS Engineering to port inotify to OpenVMS.
Here is the answer I got from Mandar, head of OpenVMS Engineering
We are currently analyzing this and would take further action based on initial study. Currently we are putting this in the wishlist for next release of OpenVMS.
Regards Mandar
If you install Python on OpenVMS with the LD Images from http://www.vmspython.org/DownloadAndInstallationPython then you can use the ptd routines http://www.vmspython.org/VMSPTDExample