Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

File Attributes and Access
OSS files have different attributes than Guardian disk files. For example, the file protection bits,
the file owner ID, and the group ID are stored differently for OSS files than for Guardian disk files.
Guardian files are protected by a 12-bit security vector and optionally by the Safeguard Access
Control Lists (ACLs). The Safeguard ACLs are associated with Guardian files.
The security vector associated with a Guardian file consists of four 3-bit permission fields, one field
for each permission: Read, Write, Execute, and Purge. The seven classes of accessors (any,
community, group, network, owner, super, user) are encoded in the three bits.
You cannot use Guardian ACLs to protect individual OSS files. However, you can keep users from
creating files in disk volume in which OSS files reside. To determine whether there is a Safeguard
ACL on a Guardian file, use the Guardian FILE_GETINFOLISTBYNAME_ procedure.
OSS regular file access policies differ from Guardian disk file access policies. For OSS files, file
owner, file group, and other file classes are treated as mutually exclusive. Remotely authenticated
and locally authenticated processes are not distinguished. A distinction between locally authenticated
and remotely authenticated subjects applies only to appropriate privileges (locally authenticated
effective user ID of 65535). The security database is consulted only for OSS file creation, and
there is no concept of group manager for OSS files.
On systems running Version 3 OSS filesets, OSS files can be protected by OSS ACLs. OSS ACLs
offer a greater degree of selectivity than permission bits. OSS ACLs allow a process whose effective
user ID matches the file owner, super ID, or a member of the Safeguard
SECURITY-OSS-ADMINISTRATOR security group to permit or deny access to a file to a list of specific
users and groups.
ACLs are supported as a superset of the UNIX operating system discretionary access control (DAC)
mechanism for files, but not for other objects such as interprocess communication (IPC) objects.
All OSS system calls that include pathnames are subject to the ACLs on any directory or file in the
path.
OSS ACLs:
Are supported in Version 3 and later versions of OSS filesets.
Are supported for directories, regular files, first-in, first-out (FIFO) special files, and bound
AF_UNIX sockets.
Support up to 150 ACL entries.
Support separate permissions for up to 146 additional users and groups.
Support default ACL inheritance. For a description of default ACL inheritance, see the Open
System Services Programmer’s Guide.
Are based on the POSIX 1003.1e draft standard and the HP-UX implementation of ACLs.
Are not supported by the OSS Network File System (NFS) for G-series RVUs, H06.19 and
earlier H-series RVUs, or J06.08 and earlier J-series RVUs. Any attempt by NFS clients to
access OSS objects protected by OSS ACLs that contain optional ACL entries is denied.
Are supported by the OSS NFS for J06.09 and later J-series RVUs and H06.20 and later
H-series RVUs as follows:
Access by the OSS Network File System (NFS) to OSS objects protected by OSS ACLs
that contain optional ACL entries can be allowed, depending upon the NFSPERMMAP
attribute value for the fileset that contains the object.
The NFSPERMMAP attribute value selects the algorithm used to map the OSS ACL
permissions for the object to the standard permissions (rwxrwxrwx) expected for the object
by NFS V2 clients.
The default value for the NFSPERMMAP attribute, DISABLED, specifies that any attempt
by NFS clients to access OSS objects protected by OSS ACLs that contain optional ACL
114 Porting UNIX Applications to the OSS Environment