diff --git a/man2/mkdir.2 b/man2/mkdir.2 index 41fad5578..42fc26b73 100644 --- a/man2/mkdir.2 +++ b/man2/mkdir.2 @@ -54,7 +54,8 @@ The argument specifies the permissions to use. It is modified by the process's .I umask -in the usual way: the permissions of the created directory are +in the usual way: in the absence of a default acl, the permissions of the +created directory are .RI ( mode " & ~" umask " & 0777)." Other mode bits of the created directory depend on the operating system. For Linux, see below. @@ -212,8 +213,6 @@ POSIX.1-2008. Under Linux, apart from the permission bits, only the .B S_ISVTX mode bit is honored. -That is, under Linux the created directory actually gets mode -.RI ( mode " & ~" umask " & 01777)." See also .BR stat (2). .PP diff --git a/man2/mknod.2 b/man2/mknod.2 index e93c3454a..7a8dd1e1f 100644 --- a/man2/mknod.2 +++ b/man2/mknod.2 @@ -63,8 +63,9 @@ listed below and the permissions for the new node. The permissions are modified by the process's .I umask -in the usual way: the permissions of the created node are -.IR "(mode & ~umask)" . +in the usual way: in the absence of a default acl, the permissions of the +created node are +.RI ( mode " & ~" umask ). The file type must be one of .BR S_IFREG , diff --git a/man2/open.2 b/man2/open.2 index 053bab10f..1d22b58c2 100644 --- a/man2/open.2 +++ b/man2/open.2 @@ -275,7 +275,8 @@ is ignored. The effective permissions are modified by the process's .I umask -in the usual way: The permissions of the created file are +in the usual way: In the absence of a default acl, the permissions of the +created file are .IR "(mode\ &\ ~umask)" . Note that this mode applies only to future accesses of the newly created file; the diff --git a/man2/umask.2 b/man2/umask.2 index e5e57506a..905f2cdc2 100644 --- a/man2/umask.2 +++ b/man2/umask.2 @@ -63,6 +63,17 @@ argument to and .BR mkdir (2). +Alternatively, if the parent directory has a default acl (see +.BR acl (5)), +the umask is ignored, the default acl is inherited, the permission bits are set +based on the inherited acl, and permission bits absent in the +.I mode +argument are turned off. For example, the default acl +u::rwx,g::r-x,o::r-x is equivalent to a umask of 022, and with a +.I mode +argument of 0666 (rw-rw-rw-), the resulting file permissions are 0644 +(rw-r--r--). + The constants that should be used to specify .I mask are described under