SUPPORT / SAMPLES & SAS NOTES
 

Support

Usage Note 44472: Overwriting a SAS® data set in a UNIX operating environment removes any existing ACL

DetailsHotfixAboutRate It

When an existing SAS data set with a defined access control list (ACL) is overwritten in a UNIX operating environment, the ACL is removed. However, the correct ACL is applied to new data sets that are created in a directory defined with ACL inheritance.

The difference in behavior is due to the way that SAS replaces an existing data set. As part of the process, a temporary file is opened and written to. Then, its permissions are changed to match those of the existing file before the temporary file is renamed to replace the existing file. The ACL is lost because of the changing of the permissions on the file.

A new LIBNAME statement option, NOSETPERM, is available beginning with SAS 9.3. NOSETPERM disables the file permission inheritance, allowing the new data set file to correctly inherit the ACL from the directory in which it is created.

Note that if the permissions are not controlled by an ACL, the new data set might have file permissions that are different from those of the file that it is replacing.

Click the Hot Fix tab in this note to access the hot fix for this issue.

Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemN/A64-bit Enabled Solaris9.2 TS1M09.3 TS1M0
64-bit Enabled AIX9.2 TS1M09.3 TS1M0
Linux9.2 TS1M09.3 TS1M0
HP-UX IPF9.2 TS1M09.3 TS1M0
64-bit Enabled HP-UX9.2 TS1M09.3 TS1M0
Linux for x649.2 TS1M09.3 TS1M0
Solaris for x649.2 TS1M09.3 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.