AppArmour thường được cho là đơn giản hơn so với SELinux. SELinux khá phức tạp và có thể được sử dụng ngay cả trong các ứng dụng quân sự trong khi AppArmour có xu hướng đơn giản hơn. SELinux hoạt động ở cấp nút i (nghĩa là các hạn chế được áp dụng giống như các quyền ACL hoặc UNIX - mặt khác) trong khi AppArmour áp dụng ở cấp đường dẫn (nghĩa là bạn chỉ định quyền truy cập dựa trên đường dẫn để khi thay đổi đường dẫn có thể không áp dụng ). AppArmour cũng có thể bảo vệ các quy trình con (chỉ như mod_php) nhưng tôi hơi nghi ngờ về việc sử dụng thực sự của nó. AppArmour dường như tìm đường vào kernel mainline (nó nằm trong -mm IIRC).
Tôi không biết nhiều về SMACK nhưng có vẻ như đơn giản hóa Selinux từ mô tả. Ngoài ra còn có RSBAC nếu bạn muốn xem xét nó.
chroot có phạm vi sử dụng hạn chế và tôi không nghĩ nó sẽ được sử dụng nhiều trong môi trường máy tính để bàn (nó có thể được sử dụng để tách daemon khỏi quyền truy cập của toàn bộ hệ thống - như daemon DNS).
Chắc chắn, đáng để áp dụng quá trình làm cứng 'chung chung' như PaX, -fstack-bảo vệ, v.v. Chroot bạn có thể sử dụng khi bản phân phối của bạn hỗ trợ AppArmour / SELinux cũng vậy. Tôi đoán SELinux phù hợp hơn cho các khu vực bảo mật cao (nó có khả năng kiểm soát hệ thống tốt hơn nhiều) và AppArmour tốt hơn cho việc làm cứng đơn giản.
Nói chung, tôi sẽ không làm cứng máy tính để bàn chung chung, ngoại trừ tắt các dịch vụ không sử dụng, cập nhật thường xuyên, trừ khi bạn làm việc trong khu vực được bảo mật cao. Nếu bạn muốn bảo mật bằng mọi cách, tôi sẽ sử dụng những gì bản phân phối của bạn đang hỗ trợ. Nhiều trong số chúng có hiệu quả cần hỗ trợ ứng dụng (đối với các công cụ biên dịch cũ để hỗ trợ các thuộc tính, quy tắc bằng văn bản), vì vậy tôi khuyên bạn nên sử dụng những gì bản phân phối của bạn đang hỗ trợ.