Index: bin/setfacl/setfacl.1 =================================================================== --- bin/setfacl/setfacl.1 +++ bin/setfacl/setfacl.1 @@ -378,9 +378,11 @@ inherit_only .It n no_propagate +.It I +inherited .El .Pp -Inheritance flags may be only set on directories. +Other than the "inherited" flag, inheritance flags may be only set on directories. .It Ar "ACL type" The ACL type field is either .Dq Li allow Index: lib/libc/posix1e/acl_add_flag_np.3 =================================================================== --- lib/libc/posix1e/acl_add_flag_np.3 +++ lib/libc/posix1e/acl_add_flag_np.3 @@ -56,6 +56,7 @@ .It ACL_ENTRY_DIRECTORY_INHERIT Ta "Will be inherited by directories." .It ACL_ENTRY_NO_PROPAGATE_INHERIT Ta "Will not propagate." .It ACL_ENTRY_INHERIT_ONLY Ta "Inherit-only." +.It ACL_ENTRY_INHERITED Ta "Inherited from parent" .El .Sh RETURN VALUES .Rv -std acl_add_flag_np Index: lib/libc/posix1e/acl_support_nfs4.c =================================================================== --- lib/libc/posix1e/acl_support_nfs4.c +++ lib/libc/posix1e/acl_support_nfs4.c @@ -48,6 +48,7 @@ { ACL_ENTRY_NO_PROPAGATE_INHERIT, "no_propagate", 'n'}, { ACL_ENTRY_SUCCESSFUL_ACCESS, "successfull_access", 'S'}, { ACL_ENTRY_FAILED_ACCESS, "failed_access", 'F'}, + { ACL_ENTRY_INHERITED, "inherited", 'I' }, /* * There is no ACE_IDENTIFIER_GROUP here - SunOS does not show it * in the "flags" field. There is no ACE_OWNER, ACE_GROUP or Index: share/man/man9/acl.9 =================================================================== --- share/man/man9/acl.9 +++ share/man/man9/acl.9 @@ -203,7 +203,13 @@ .It Dv ACL_ENTRY_DIRECTORY_INHERIT .It Dv ACL_ENTRY_NO_PROPAGATE_INHERIT .It Dv ACL_ENTRY_INHERIT_ONLY +.It Dv ACL_ENTRY_INHERITED .El +The +.Dv ACL_ENTRY_INHERITED +flag is set on an ACE that has been inherited from its parent; +it may also be set programmatically, and is valid on both files +and directories. .El .Sh SEE ALSO .Xr acl 3 , Index: sys/cddl/compat/opensolaris/kern/opensolaris_acl.c =================================================================== --- sys/cddl/compat/opensolaris/kern/opensolaris_acl.c +++ sys/cddl/compat/opensolaris/kern/opensolaris_acl.c @@ -64,6 +64,8 @@ ACL_ENTRY_NO_PROPAGATE_INHERIT}, {ACE_INHERIT_ONLY_ACE, ACL_ENTRY_INHERIT_ONLY}, + {ACE_INHERITED_ACE, + ACL_ENTRY_INHERITED}, {ACE_SUCCESSFUL_ACCESS_ACE_FLAG, ACL_ENTRY_SUCCESSFUL_ACCESS}, {ACE_FAILED_ACCESS_ACE_FLAG, Index: sys/cddl/contrib/opensolaris/uts/common/sys/acl.h =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/sys/acl.h +++ sys/cddl/contrib/opensolaris/uts/common/sys/acl.h @@ -189,11 +189,12 @@ ACE_DIRECTORY_INHERIT_ACE | \ ACE_NO_PROPAGATE_INHERIT_ACE | \ ACE_INHERIT_ONLY_ACE | \ + ACE_INHERITED_ACE | \ ACE_IDENTIFIER_GROUP) #define ACE_TYPE_FLAGS (ACE_OWNER|ACE_GROUP|ACE_EVERYONE| \ ACE_IDENTIFIER_GROUP) -#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| \ +#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| ACL_INHERITED_ACE| \ ACE_DIRECTORY_INHERIT_ACE|ACE_NO_PROPAGATE_INHERIT_ACE|ACE_INHERIT_ONLY_ACE) /* cmd args to acl(2) for aclent_t */ Index: sys/kern/subr_acl_nfs4.c =================================================================== --- sys/kern/subr_acl_nfs4.c +++ sys/kern/subr_acl_nfs4.c @@ -1068,6 +1068,7 @@ child_aclp->acl_cnt++; entry->ae_flags &= ~ACL_ENTRY_INHERIT_ONLY; + entry->ae_flags |= ACL_ENTRY_INHERITED; /* * If the type of the ACE is neither ALLOW nor DENY, Index: sys/sys/acl.h =================================================================== --- sys/sys/acl.h +++ sys/sys/acl.h @@ -249,11 +249,12 @@ #define ACL_ENTRY_INHERIT_ONLY 0x0008 #define ACL_ENTRY_SUCCESSFUL_ACCESS 0x0010 #define ACL_ENTRY_FAILED_ACCESS 0x0020 +#define ACL_ENTRY_INHERITED 0x0080 #define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | \ ACL_ENTRY_DIRECTORY_INHERIT | ACL_ENTRY_NO_PROPAGATE_INHERIT | \ ACL_ENTRY_INHERIT_ONLY | ACL_ENTRY_SUCCESSFUL_ACCESS | \ - ACL_ENTRY_FAILED_ACCESS) + ACL_ENTRY_FAILED_ACCESS | ACL_ENTRY_INHERITED) /* * Undefined value in ae_id field. ae_id should be set to this value