Змінюй хід війни! Допомагай ЗСУ!

отказ от fork()

🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
Статус: Offline
Реєстрація: 18.03.2009
Повідом.: 1410
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #1
отказ от fork()

как процесс в *nix может сделать так, чтобы он не смог вызвать fork()?
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #2
Написать перехватчик системного вызова.
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #3
Это не наш метод. Более гуманного способа нету?
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #4
не знаю как ты собрался запрещать системный вызов, не влезая в ядро.
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #5
В никсах есть средства для дропанья привилегий (например man capabilities, man setrlimit)
Я ж это не глобально хочу сделать, а персонально для процесса
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #6
Хочешь сказать, что на системный вызов (генерацию прерывания) можно поставить запрет?
 
Останнє редагування:
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #7
Хочешь сказать, что на системный вызов (генерацию прерывания) можно поставить запрет?

Требовалось сделать так чтобы процесс не мог сделать fork(). Вариант когда fork() возвращает EAGAIN естественно тоже годится.

генерация прерывания млин...

я просто не допер сразу что RLIMIT_NPROC действует только на fork, но не на setuid. тоесть если сразу после setuid делать setrlimit(RLIMIT_NPROC, 1); тогда ОС не даст ему форкнуться. никогда. мухахаха

спасибо за внимание
 
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #8
ну разве, что через такую хитрозакрученную жопу.

ERRORS
EAGAIN The uid does not match the current uid and uid brings process over its RLIMIT_NPROC resource limit.

eyeland, для запущенного процесса один хер придется в ядро лезть.
 
Останнє редагування:
  • 🟠 19:56 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
  • #9
хитрозакрученная жопа это лезть в ядро

RLIMIT_NPROC
The maximum number of processes (or, more precisely on Linux, threads) that can be created for the real user ID of the calling process. Upon encountering this limit, fork(2) fails with the error EAGAIN.

во фряшном мане написано более скупо. и да, на фре тоже должно работать.

для запущенного и не нужно, нужно для текущего. И да, он сам будет добровольно такое делать
 
Назад
Зверху Знизу