#
# Policy rules for esxio-commd daemon
#

-c opaque_net_connect revoke
-c unix_dgram_socket_bind revoke
-c unix_dgram_socket_connect revoke
-c unix_stream_socket_bind revoke
-c unix_stream_socket_connect revoke
-c unix_vmklink_socket_connect revoke

-c inet_raw_socket_create grant
-c unix_socket_create grant
-p unix_stream_socket_bind /var/run/vmware/esxio-chan-evt.sock grant
-p unix_stream_socket_connect /var/run/vmware/esxio-chan-evt.sock grant
-p unix_stream_socket_connect vmwLocalSocketAuthentication revoke
-p unix_stream_socket_bind vmwLocalSocketAuthentication revoke

-p unix_dgram_socket_connect /dev/vmwSyslog grant

# Deny everything
-r /
# except ...
-r /bin/localcli x
-r /bin/vmkvsitools x
-r /bin/vsish x
-r /dev/char/vmkdriver/ipmi0 w
-r /dev/char/vmkdriver/urandom r
-r /coverage w

-r /etc/localtime r
-r /etc/smartnic-mockup.conf r
-r /etc/vmware/esx.conf r
-r /etc/vmware/esx.conf.LOCK  w
# Write access to /etc/vmware/ is required to create a lock
# file /etc/vmware/esx.conf.LOCK*
-r /etc/vmware/ w
-r /etc/vmware/config r
-r /etc/vmware/configstore rw
-r /etc/vmware/schemastore w
-r /etc/vmware/settings r
-r /etc/vmware/ssl/castore.pem r
-r /etc/vmware/ssl/fipsmodule.cnf r
-r /etc/vmware/ssl/openssl.cnf r
-r /etc/vmware/vsphereFeatures r

-r /etc/init.d/apiForwarder x
-r /etc/vmware/cpservices.d r
-r /etc/vmware/cpservices/apiForwarder r

-r /lib64 rx
-r /usr/lib rx
-r /usr/lib64 rx


-s cloneSys grant
-s execSys grant
-s forkExecSys grant
-s forkSys grant
-s genericSys grant
-s ioctlSys grant
-s killSys grant
-s mprotectSys grant
-s openSys grant
-s rpcSys grant
-s syncSys grant
-s vobSys grant
-s vsiReadSys grant
-s vsiWriteSys grant

-d shellObj genericDom file_exec grant
