commit: 466708fae5bc47d99c019eccf2e6c5dd212a2a91 Author: Russell Coker <russell <AT> coker <DOT> com <DOT> au> AuthorDate: Sun Feb 12 11:18:15 2017 +0000 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org> CommitDate: Fri Feb 17 08:13:38 2017 +0000 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=466708fa
inherited file and fifo perms The following patch defines new macros rw_inherited_fifo_file_perms and rw_inherited_term_perms for the obvious reason. I've had this in Debian for a while and some Debian policy relies on it. I think it's appropriate to include this before including any policy that relies on it because it's an obvious foundation for writing good policy. We could have inherited perms macros for other object types, but terminals and fifos are the main ones that get inherited. The next best candidate for such a macro is a sock_file, and that's largely due to systemd setting programs stdout/stderr to unix domain sockets. policy/support/obj_perm_sets.spt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/policy/support/obj_perm_sets.spt b/policy/support/obj_perm_sets.spt index df50b44f..5eb74cd8 100644 --- a/policy/support/obj_perm_sets.spt +++ b/policy/support/obj_perm_sets.spt @@ -196,7 +196,8 @@ define(`setattr_fifo_file_perms',`{ setattr }') define(`read_fifo_file_perms',`{ getattr open read lock ioctl }') define(`append_fifo_file_perms',`{ getattr open append lock ioctl }') define(`write_fifo_file_perms',`{ getattr open write append lock ioctl }') -define(`rw_fifo_file_perms',`{ getattr open read write append ioctl lock }') +define(`rw_inherited_fifo_file_perms',`{ getattr read write append ioctl lock }') +define(`rw_fifo_file_perms',`{ open rw_inherited_fifo_file_perms }') define(`create_fifo_file_perms',`{ getattr create open }') define(`rename_fifo_file_perms',`{ getattr rename }') define(`delete_fifo_file_perms',`{ getattr unlink }') @@ -264,7 +265,8 @@ define(`relabel_chr_file_perms',`{ getattr relabelfrom relabelto }') # # Use (read and write) terminals # -define(`rw_term_perms', `{ getattr open read write append ioctl }') +define(`rw_inherited_term_perms', `{ getattr read write append ioctl }') +define(`rw_term_perms', `{ rw_inherited_term_perms open }') # # Sockets