Помимо известных проектов (chroot, docker, podman, apparmor, selinux) ChatGPT посоветовал:
- firejail
- bubblewrap
Я потестил firejail:
mir ~ $ firejail --private --net=none dd if=/dev/zero of=BREAK bs=1K count=1
Reading profile /etc/firejail/default.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Warning: networking feature is disabled in Firejail configuration file
** Note: you can use --noprofile to disable default.profile **
Parent pid 2406028, child pid 2406029
Child process initialized in 55.43 ms
1+0 records in
1+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 6.4323e-05 s, 15.9 MB/s
Parent is shutting down, bye...
mir ~ $ ls -l BREAK
ls: cannot access 'BREAK': No such file or directory
под firejail dd "записал" файл виртуально, на диске его нет, как видим. (но в /tmp будет писать на диск, а под рутом где-нибудь в /usr/lib - выругается, что read-only). Можно поиграть с настройками.
Сеть тоже не работает (если отключить):
mir ~ $ firejail --private --net=none ping 1.1.1.1
ping: connect: Network is unreachable