; SELinux policy module for running virtual machines with Vagrant ; Vagrant performs "ssh sudo ..." without allocating a pseudo-terminal. ; This leads sudo to directly using sshd pipes, as well as other processes ; spawned from the provision scripts. Define an attribute for those processes. (typeattribute vagrant_provisioning_cmd_type) (typeattributeset vagrant_provisioning_cmd_type ( dhcpc_t ifconfig_t load_policy_t semanage_t setfiles_t sudodomain )) (allow vagrant_provisioning_cmd_type sshd_t (fifo_file (append getattr ioctl read write))) ; "vagrant rsync" makes Vagrant invoke "sudo rsync" without a shell which would ; make sudo transition out of sysadm_sudo_t. ; Therefore add a transition from sysadm_sudo_t to sysadm_t through rsync_exec_t (optional sysadm_sudo_rsync_transition (allow sysadm_t rsync_exec_t (file (entrypoint))) (typetransition sysadm_sudo_t rsync_exec_t process sysadm_t) )