Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     31 Oct 2000  17:19:58
 To : Olli Artemjev
 Subject : Re: ?: как сделать procfsвchroot?
 -------------------------------------------------------------------------------- 
 
         Hello Olli Artemjev!
 
  OA>> патчей неисполняемого стэка (ибо   cамая  secure BSD), и  которая  все
  OA>> равно не подходит из-за зачаточного  состояния ее локали. Вот. То есть
  OA>> с  моей стороны однозначно   linux 2.2.xx . С  вашей  стороны - url на
  OA>> котором можно прочесть
  VN>> Вы не указали, почему именно не променяете linux на что-то другое.
 OA> То есть перечисленного недостаточно? По моему наличие патчей от Solar
 OA> Designer уже более чем достаточно.
 
 Hу не совсем ;) Это аргумент, но не абсолютный.
 
  VN>> Добавлю, что jail, равно как и первый из chroot во FreeBSD >=4, ставит
  VN>> не только  rootdir vnode, а еще  и topdir vnode, который  изменить уже
  VN>> нельзя (в  отличие от  rootdir  vnode) и тем самым  стандартные методы
  VN>> пролома chroot'а  (которые работают  на linux всех   в том  числе)  не
  VN>> пойдут. Хотя я и не уверен, что это лучший метод, но он дает решение.
 OA> Кстати вопросец - не ткнете ли url'ем на предмет разжевывания основных
 OA> методдов пролома chroot? Hу или примерчиком сырцовым, если небольшой..
 
 Сырца не нашел. Идея проста, но требует рута (на переустановку chroot и
 на создание каталога).
 1. chdir("/") - переход в корень видимого участка дерева
 2. mkdir("x") - если нету ни одного подкаталога
 3. fd1 := open(".") - получить хэндл текущего корня
 4. chroot("x")
 5. fchdir(fd1) - это мы уже за пределами chroot'а
 6. chdir("..") пока не перестанет меняться
 7. chroot(".") или fchroot( понятно на что )
 
 Hа FreeBSD <= 3.* и на всех линуксах - проверенно работает.
 Hа FreeBSD4 - за пределы дерева первого chroot'а выйти не дает, второго
 и последующих - дает. Hа FreeBSD5 - еще есть sysctl'и типа
 chroot_allow_open_directories - не разрешать chroot, если есть открытые
 хэндлы на каталог.
 
  OA>> и где найти патч на 2.2.xx чтобы оно этот jail поддерживало.
  VN>> Я  бы сказал, что linux'у  не  дано,  но больно настроение  хорошее;))
  VN>> Может, породите такой патч? Только учтите, что изменений очень много -
  VN>> struct proc, namei(), suser() и куча прочих мест, так что патч потянет
  VN>> на создание отдельной ветки.
 OA> Я бы породил, если бы изменений было на пару тройку строк, но такое мне
 OA> пока стремно пытаться сделать. :( А точно не получится обойтись каким нить
 OA> трюком чтобы не менять кучу уже используемых структур? Хотя раз это все
 OA> структуры, то внесение дополнений вроде не должно сказаться на использующих 
 OA> их программах до тех пор пока им не сказать что есть поле с новым именем.
 OA> Или я не прав?
 
 Размеры структур изменятся...
 /netch
 --- ifmail v.2.15dev5
  * Origin: Lucky Netch Incorporated (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ?: как сделать procfsвchroot?   Valentin Nechayev   31 Oct 2000 17:19:58 
Архивное /ru.unix/20328ad902eb7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional