Раньше все процессы делились на категории: обычные пользовательские процессы, проходившие проверки прав доступа (owner, group, mode), и процессы с идентификатором пользователя UID = 0 (root). Процессы суперпользователя обходили любые проверки ядра.
Основная проблема - слишком большие полномочия. Ради одной root операции нужно выдавать права и на все остальное, что создает дыру в безопасности. В случае обнаружения уязвимости в таком приложении атакующий получал полный контроль над всей системой.
Начиная с версии ядра 2.2 полномочия root были разделены на отдельные Capabilities.
Читать дальше на Хабре
@usr_bin_linux