# userspace wifi access points type hostapd, domain; type hostapd_exec, exec_type, vendor_file_type, file_type; init_daemon_domain(hostapd) net_domain(hostapd) allow hostapd self:global_capability_class_set { net_admin net_raw }; # hostapd learns about its network interface via sysfs. allow hostapd sysfs:file r_file_perms; # hostapd follows the /sys/class/net/wlan0 link to the PCI device. allow hostapd sysfs:lnk_file r_file_perms; # Allow hostapd to access /proc/net/psched allow hostapd proc_net:file { getattr open read }; # Various socket permissions. allowxperm hostapd self:udp_socket ioctl priv_sock_ioctls; allow hostapd self:netlink_socket create_socket_perms_no_ioctl; allow hostapd self:netlink_generic_socket create_socket_perms_no_ioctl; allow hostapd self:packet_socket create_socket_perms_no_ioctl; allow hostapd self:netlink_route_socket nlmsg_write;