Accessing Files Programmer's Guide (32650-90885)

6
Contents
Semi-exclusive access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Shared access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Multiaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Global multiaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Sharing the File Using FLOCK and FUNLOCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
13. Maintaining File Security
Access Control Definition Security (ACD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
ACD scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
How acds work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
ACD modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
Managing ACDs with commands and intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
Preserving ACDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Managing ACDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Logging system events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
Logging a specific user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Logging file security related events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Traditional Mechanism for File Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Specifying and restricting file access by access mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Specifying and restricting file access by type or user. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
Changing security provisions of disk files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Suspending and restoring security provisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
14. Getting File Information
Displaying General File Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
Displaying permanent file information with LISTFILE . . . . . . . . . . . . . . . . . . . . . . . . . . .188
Displaying temporary file information with LISTFILE...(;TEMP) . . . . . . . . . . . . . . . . . . .193
Displaying file equations with LISTEQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
Retrieving Specific File Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
[:CMD] FINFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
FFILEINFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
FGETINFO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
FLABELINFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
Determining Interactive/Duplicative Files with FRELATE . . . . . . . . . . . . . . . . . . . . . . . . .197
Displaying File Error Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
FCHECK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
FERRMSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
PRINTFILEINFO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
Writing a file system error-check procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
A. Pascal/XL Program Examples