The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Итоги встречи разработчиков OpenBSD в Словении: nginx займет..."
Отправлено vle, 28-Сен-11 14:23 
>> Из chroot-а этим способом нельзя. В OpenBSD, Linux, FreeBSD... можно.
> Так при этом
> fd=open("/");
> chroot("/foo");
> fchroot(fd);
> прекрасно отработает (я не проверял за неимением, но если верить man должно)

work# cat fchdir.c
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>

int main ()
{
        int ret;
        int fd = open ("/", O_RDONLY | O_DIRECTORY);

        if (fd == -1){
                perror ("open(2) failed");
                return 1;
        }

        if (chroot ("/tmp") == -1){
                perror ("chroot(2) failed");
                return 1;
        }

        if (chdir ("/") == -1){
                perror ("chdir(2) failed");
                return 1;
        }

        if (fchdir (fd) == -1){
                perror ("fchdir(2) failed");
                return 1;
        }

        ret = system ("ls .");
        if (ret == -1){
                perror ("system(3) failed");
                return 1;
        }

        return ret;
}
work# cc fchdir.c  
work# ./a.out                                                                            
fchdir(2) failed: Operation not permitted
work# uname -srm
NetBSD 5.99.53 i386
work#

>> сделать все, чего тебе захочется. См. handened chroot у grsecurity
>> или по ссылке, что я давал, на аналогичный securechroot для NetBSD.
> На сколько я помню, там как раз не дают делать chroot из
> chroot'а вообще.

Где там? И в grsecurity и в securechroot он не разрешен совсем.

> А в таком виде как в NetBSD, я б назвал это полумерой.

В таком виде NetBSD-ый chroot вполне подходит как основа для нормально
hardened chroot-а a la тому, что сделано в grsecurity. Собственно его я и сделал
для NetBSD по образу и подобию,
и он пригоден для изоляции в загончике даже root-а.
На все ~800 строк кода поверх kauth(9), включая man page.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру