LINUX.ORG.RU

чего-то заклинило в голове...


0

0

Вот, требуется установить ipfw в своеобразную песочнецу - перенести из обычной локации в локацию, скажем, /usr/local/sandbox для того, чтобы он был доступен для чтения другим юзерам. chmod u+s, - и другие юзеры его открывают, но с ошибкой не ipfw: Operation not permit: open socket (или почти так - ipfw открывает сокет через fopen - но на нем биты видимо рутные.) Так вот прблема в том - что я не соображу какой именно и откуда открывается сокет. - для того чтобы я либо изменил на нем флаги, либо переписал бы к sandbox. Реальный /sbin/ipfw - трогать нельзя. Кто подскажет ? (FreeBSD 4.5)

Заранее псибо

anonymous

В общем и целом я не понял вопроса, можно по пунктам и более внятно:
1) что нужно (по возможности для чего)
2) что было для этого сделано
3) в чем загвоздка

Тем не менее советую глянуть в

/usr/src/sbin/ipfw/ipfw.c (если исходники есть, конечно. если нет - выкачать
хотя бы этот каталог, там только исходник, мануал и мейкфайл)

В самом началн функции main () открывается raw сокет,
по определению доступный только руту. Одна из возможных причин.

anonymous
()

Есть моя собственная программа, которая работает с IPFW - (popen) - работает от пользователя, скажем, WWW. В целях безопасности, вызывается не /sbin/ipfw, а сделан линк со своими правами доступа и sticky-ом битом (от root: chmod u+s) для того, чтобы копию ipfw мог запустить не руут. И после этого ipfw работает с пользователем WWW. Но зато не работает сокет, который открывает IPFW: not permit.

Если сделать chmod u+s на ipfw в /sbin - т.е. он по правам доступа ничем не отличается от своей копии в /usr/local/sandbox - то сокет открывается и все фунциклирует просто шоколадно.

Вот и не могу сообразить - где этот канал открывается на сокет - что именно открывается, чтобы я сделал линк к sandbox. Может быть просто путь к указателю на сокет указан относительно - типа ../dev - а его-то и нету в sandbox.

anonymous
()

1) u+s != sricky bit, u+s == SUID bit
2) Щаз исходники покопаю, надо чем-то себя занять.
Может чего и нарою

anonymous
()

Что-то я так и не догнал, в чем трабл, поскольку суидный ipfw прекрасно работает ну да ладно.
Как запускается "песочный" ipfw?
У меня получилось из программы запустить суидный ipfw и изменить файрвол.
Проблем не было, как я понимаю, это несколько не то?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.