Skip to content
  • Auke Kok's avatar
    SMACK: Add configuration options. (v3) · 0eb59ccf
    Auke Kok authored
    This adds SMACK label configuration options to socket units.
    
    SMACK labels should be applied to most objects on disk well before
    execution time, but two items remain that are generated dynamically
    at run time that require SMACK labels to be set in order to enforce
    MAC on all objects.
    
    Files on disk can be labelled using package management.
    
    For device nodes, simple udev rules are sufficient to add SMACK labels
    at boot/insertion time.
    
    Sockets can be created at run time and systemd does just that for
    several services. In order to protect FIFO's and UNIX domain sockets,
    we must instruct systemd to apply SMACK labels at runtime.
    
    This patch adds the following options:
    
    Smack - applicable to FIFO's.
    SmackIpIn/SmackIpOut - applicable to sockets.
    
    No external dependencies are required to support SMACK, as setting
    the labels is done using fsetxattr(). The labels can be set on a
    kernel that does not have SMACK enabled either, so there is no need
    to #ifdef any of this code out.
    
    For more information about SMACK, please see Documentation/Smack.txt
    in the kernel source code.
    
    v3 of this patch changes the config options to be CamelCased.
    0eb59ccf