Патч (http://butcher.heavennet.ru/ipfw_ioctl/) добавляет возможность управлять файрволом во FreeBSD через псевдо-устройство /dev/ipfwctl. Права доступа к этому пвсевдо-устройству определяют разрешённые действия над файрволом. Для изменения состояния файрвола необходимы права для записи, для просмотра состояния - права для чтения.URL: http://butcher.heavennet.ru/ipfw_ioctl/
Новость: http://www.opennet.me/opennews/art.shtml?num=6215
На мой взгляд для решения проблемы раздачи подобных прав sudo все же еффективнее.
Хотя сама идея небезинтерестна.
Плодим дыры в системе... Зачем? Разве удобство (не факт! ИМНО настраивать фоярвол должен кто-то один) стоит безопасности?
>Плодим дыры в системе... Зачем? Разве удобство (не факт! ИМНО настраивать фоярвол
>должен кто-то один) стоит безопасности?Наоборот, решение как раз для повышения безопасности, чтобы не пускать всякие считалки трафика и прочие скрипты из под рута. Обычным юзерам права на девайс не дадут пошалить.
>> Наоборот, решение как раз для повышения безопасности, чтобы не пускать всякие считалки трафика и прочие скрипты из под рута.это зависит от самого приложения. Никто не мешает запуститься от рута и сбросить привилегии.
>> Обычным юзерам права на девайс не дадут пошалить.
Сразу вспоминается истории с /dev/io.
Во-первых, по-умолчанию эта возможность отключена и включаете её вы на своё усмотрение при помощи перекомпиляции модулей или ядра. В системе, на мой взгляд, есть и более небезопасные опции ядра.
Во-вторых, права доступа распределяете вы, через devfs.conf. Это было сделано в первую очередь для того, чтобы позволить скриптам работать с еньшими правами. Создаёте какого-нибудь пользователя, делаете его владельцем /dev/ipfwctl и даёте ему необходимые права. Если это будут права для чтения, то он сможет только читать состояние файрвола, а это ipfw show + действия для просмотра таблиц (в случае с dummynet - просмотр правил dummynet). Для всего остального нужны права для записи в /dev/ipfwctl.
>> Создаёте какого-нибудь пользователя, делаете его владельцем /dev/ipfwctl и даёте ему необходимые права.Полагаю, в данном случае корректнее оперировать правами группы. Пользователь же должен быть всегда == id(0)
>Полагаю, в данном случае корректнее оперировать правами группы. Пользователь же должен быть
>всегда == id(0)зачем? это уже зависит от того какие цели преследуются.
root всегда может воспользоваться обычным методом - RAW Sockets, который обычному пользователю недоступен. К тому же, даже если рут попытается открыть файл, который принадлежит другому пользователю, он его откроет.
>>Полагаю, в данном случае корректнее оперировать правами группы. Пользователь же должен быть
>>всегда == id(0)
>
>зачем?Всё достаточно банально. В группу можно включить N пользователей.
>root всегда может воспользоваться обычным методом - RAW Sockets, который обычному пользователю
Это исторически сложившийся подход. Как и использовать /bin/csh в качестве root shell.
Кстати о /dev/ipfwctl .. Очень перспективная дея . Например совместимость , допустим зделать единый интерфейс для доступа к базе через dev и будь то pg my или еще че нибудь , можно былобы с любых приложений писать или читать данные . Прмеров много.
Можно былобы зделать специальный dev для каждого пользователя (тоесть доступ к деву тама useradd -d /home/exn -s /bin/bash_2099 -dev /dev/exn ) а тама ядро все права контролировалоб //ой , понесло меня // короче тема перспективная !!!
>>> Кстати о /dev/ipfwctl .. Очень перспективная дея . Например совместимость , допустим зделать единый интерфейс для доступа к базе через dev и будь то pg my или еще че нибудь , можно былобы с любых приложений писать или читать данные . Прмеров много.
>>> Можно былобы зделать специальный dev для каждого пользователя (тоесть доступ к деву тама useradd -d /home/exn -s /bin/bash_2099 -dev /dev/exn ) а тама ядро все права контролировалоб //>>> ой , понесло меня // короче тема перспективная !!!
В газенваген с такими идеями. Был уже пример реализации httpd в ядре. Достаточно. //кто не понял Гугль в помощь.
во фряхе "-s /bin/bash_2099"? Буэээ... в тот же день уйду на другой BSD....
>во фряхе "-s /bin/bash_2099"? Буэээ... в тот же день уйду на другой
>BSD....:))
>во фряхе "-s /bin/bash_2099"? Буэээ... в тот же день уйду на другой
>BSD....
переходи на Gentoo :)))та же херня, тока с Линуховым ядром!
Все равно непонятно в чем принципиальное приемущество перед использованием sudo
Спасибо автору, ждем кода включат в основную ветку.