su user_name program
запускает какую-то программу с другим uid;chroot path program
запускает некоторую программу с другим/
;( ulimit -v 80000; program)
ограничивает память программы ...
Как ограничить возможности программы (7)?
Я вижу только инструмент setcap(8) , который устанавливает возможности файлов; Как сделать что-то вроде этого:
root# start_program_with_capabilities_dropped_except_of CAP_NET_RAW,CAP_NET_ADMIN program
Как запустить программу с моим набором возможностей без использования файловых возможностей?
Например, я root и хочу запустить ping
:
- Как некорневой
- С флагом PR_SET_NO_NEW_PRIVS (так что все биты setuid и файловые возможности исчезают)
- С активным только CAP_NET_RAW и всем остальным
- Если
ping
знает, что он находится в непривилегированном режиме (ping: cannot flood; minimal interval, allowed for user, is 200ms
)