Кроме причин памяти, уже упомянутых (64-разрядные приложения используют больше памяти) существует часто также включенный компонент совместимости - при выполнении большого количества старого или по крайней мере немного датированного программного обеспечения, просто более безопасно работать на 32-разрядной среде, где это было верно и протестировало на 10 + годы, вместо неподдерживаемой платформы это правильно никогда не тестировалось на. В то время как по существу слои эмуляции в архитектуре AMD64 и уровни OS должны представить этот устаревший аргумент, существует очень много очень плохого очень старого кода все еще в производстве там в широком мире - не общее выполнение актуальной установки ЛАМПЫ.
Traceroute
не нужно работать как root
; Это просто нуждается в возможностях cap_net_admin
. Таким образом, вы можете установить это как возможность файла для файла, а затем Traceroute
всегда будет иметь эту возможность (для всех пользователей, хотя и), если ваше ядро поддерживает возможности файлов и модуль безопасности Linux (SELinux, Apparmor) Блокировка его:
setcap CAP_NET_ADMIN+ep /usr/sbin/traceroute
В то время как работает
Traceroute
, вы можете увидеть его возможности с PSCAP
. Это не влияет на UID / EUID процесса.
Я не знаю, как это сделать, но AFAIK можно также использовать Apparmor (и, вероятно, SELinux) для запуска процесса с определенными возможностями. Основная задача, конечно, для ограничения доступных возможностей.