In order to send a message, PMDF needs to read configuration files and create message files in the PMDF message queue directories. Configuration files must be readable to the user, which generally implies world read access on the files in the PMDF table directory. During installation, proper protections are assigned to these files. PMDF utilities and procedures which create configuration files also assign proper protections. If the files are reprotected by the system manager or other privileged user or through some site-specific procedure, PMDF can not be able to read configuration information. This will result in "File open" errors or unpredictable behavior. The PMDF TEST/REWRITE utility will report additional information when it encounters problems reading configuration files.
If PMDF appears to function from privileged accounts but not from unprivileged accounts, then file protections in the PMDF table directory are likely to blame. Check the protections on configuration files and their directories. The only files that should be protected against world read access in the table directory are the queue cache database and certain channel specific files such as PhoneNet script files or other channel option files which can contain password information.
"File create" errors usually indicate a problem while
creating a message file in a PMDF message queue directory. See
Section 35.2.2 for procedures to aid in diagnosing file creation
problems. Note that on OpenVMS, PMDF uses a protected shareable image
to control the creation of files in the PMDF queue directories. This
allows unprivileged users to create such files where they would not
normally be allowed access. Make sure that PMDF has been properly
started, as the
pmdf_startup.com procedures installs
required known images and defines required logical names in the proper
modes. If, for example, the PMDF startup procedure is run by an account
with insufficient privileges, an environment can be created which
precludes proper operation of the PMDF protected shareable image. In
particular, most PMDF logical names must be defined in executive mode.
On OpenVMS, use of the undocumented SET WATCH FILE/CLASS=MAJOR command in DCL can prove an immense help in determining which file or file operation is causing a problem. Use /CLASS=ALL to obtain a verbose amount of information from the XQP; use /CLASS=NOALL to disable the WATCH output.