Зазвичай, AppArmour вважається простішим, ніж SELinux. SELinux є досить складним і може використовуватися навіть у військових додатках, тоді як AppArmour, як правило, простіше. SELinux працює на рівні i-вузла (тобто обмеження застосовуються так само, як дозволи ACL або UNIX - з іншого боку), тоді як AppArmour застосовується на рівні шляху (тобто ви вказуєте доступ, заснований на шляху, тому при зміні шляху він може не застосовуватися ). AppArmour також може захищати підпроцеси (наприклад, лише mod_php), але я якось скептично ставлюсь до реального використання ним. AppArmour, здається, знаходить свій шлях до основного ядра (він знаходиться в-мм IIRC).
Я мало знаю про SMACK, але це схоже на спрощений SELinux з опису. Також є RSBAC, якщо ви хочете подивитися.
chroot має обмежену сферу використання, і я не думаю, що це буде багато корисного в робочому середовищі (його можна використовувати для відділення демонів від доступу до всієї системи - наприклад, демона DNS).
Напевно, варто застосувати «загальне» загартовування, таке як PaX, -fstack-protector і т. Д. Chroot, який ви можете використовувати, коли ваш дистрибутив підтримує так, AppArmour / SELinux. Я думаю, що SELinux краще підходить для областей високої безпеки (він має набагато кращий контроль над системою), а AppArmour краще для простого зміцнення.
Взагалі, я б не намагався дуже загартовувати загальний робочий стіл, за винятком виключення невикористаних служб, регулярного оновлення тощо, якщо ви не працюєте у високо захищеній зоні. Якщо ви хочете все-таки захиститись, я б використовував те, що підтримує ваш дистрибутив. Багато з них для ефективності потребують підтримки додатків (для створення компіляційних інструментів для підтримки атрибутів, письмових правил), тому я б радив використовувати те, що підтримує ваш дистрибутив.