![]() | |||||||||||
15.8. Модуль MAC portaclИмя модуля: mac_portacl.ko Строка конфигурации ядра: MAC_PORTACL Параметр загрузки: mac_portacl_load="YES" Модуль mac_portacl(4) используется для ограничения привязки (binding) к локальным портам TCP и UDP, используя различные переменные sysctl. По сути mac_portacl(4) делает возможной привязку к привилегированным портам, т.е. к портам с номерами меньше 1024 для не-root пользователей. После загрузки этот модуль включит политику MAC на всех сокетах. Доступны следующие переменные sysctl:
Действующая политика mac_portacl, указанная в security.mac.portacl.rules, это текстовая строка в форме rule[,rule,...] с таким количеством правил, которое требуется. Каждое правило задается в формате: idtype:id:protocol:port. Параметр
По умолчанию в UNIX®-подобных системах порты с номерами менее чем 1024 могут быть использованы только привилегированными процессами, т.е. теми, что запущены от root. С mac_portacl(4) для разрешения привязки непривилегированных процессов к портам с номерами ниже 1024 эти стандартные ограничения UNIX должны быть отменены. Это может быть выполнено путем установки переменных sysctl(8) net.inet.ip.portrange.reservedlow и net.inet.ip.portrange.reservedhigh в ноль. Обратитесь к примерам ниже или к странице справочника mac_portacl(4) за дальнейшей информацией. 15.8.1. ПримерыСледующие примеры должны осветить обсуждение выше чуть лучше: # sysctl security.mac.portacl.port_high=1023 # sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0 Сначала мы настраиваем mac_portacl(4) для работы со стандартными привилегированными портами и отмены обычных ограничений UNIX на привязку. # sysctl security.mac.portacl.suser_exempt=1 Пользователь root должен быть исключен из этой политики, для этого переменная security.mac.portacl.suser_exempt установлена в ненулевое значение. Модуль mac_portacl(4) теперь настроен на то поведение UNIX-подобных систем по умолчанию. # sysctl security.mac.portacl.rules=uid:80:tcp:80 Разрешает пользователю с UID 80 (обычно это пользователь www) привязку к порту 80. Теперь пользователь www сможет запустить веб сервер даже без привилегии root. # sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995 Разрешит пользователю с UID 1001 привязку к TCP портам 110 (''pop3'') и 995 (''pop3s''). Это позволит данному пользователю запустить сервер, принимающий соединения на портах 110 и 995. Примечания
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ | |||||||||||
2008 © osinf.ru, при публикации активная ссылка обязательна. |