LINUX.ORG.RU

seteuid + chdir ... странно как-то ...


0

0

Вообщем , такая проблема... программулина три строчки:

setegid(100);

seteuid(1000);

chdir("/root");

chdir проходит ... пускает простого пользователя в хомяк рута ...По-мимо того пускает в любой каталог , на котором стоит бит исполнения для группы(не важно для какой - во все пускает) ... Не важно , что потом сдлеать ничего нельзя ... Если выполнять программулину от пользователя с uid 1000 , то не пускает ... а от рута пускает ... я даже меня реальный uid и gid - всё-равно ...

Кто может обьяснить , в чём проблема? Чё за бред? (это весь текст ... более ничего нет ... проблема не в коде...види


man setfsuid man setfsgid

anonymous
()

Ага...читал ... пробываал ... нифига ... не помогает ... мало того , файлы внутри этих дир , с разрешеннием на чтение легко открываются с помощью open и читаются ... вот такие вот дела

Ещё проблема возникла:патч grsecurity ограничивает запись в FIFO каналы , созданные другими пользователями в дирах +t ... Из интерпретатора типа echo 1 > /tmp/fifo запись запрещена , если же делать это программно - open, write - то хрен ... можно писать ...8(

Green
() автор топика
Ответ на: комментарий от Green

Если запускаешь из под root, то у него по умолчанию стоят capabilities CAP_DAC_OVERRIDE и CAP_DAC_READ_SEARCH.

Читай man capset ...

Murr ★★
()

Читал ... у простого пользователя вся структура __user_cap_data_t обнулена ... обнулял , пробывал - всё-равно ...

такие вот дела ...

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