Tôi tìm thấy câu trả lời này trên learning Linux Kernel Programming và câu hỏi của tôi cụ thể hơn cho các tính năng bảo mật của hạt nhân Linux. Tôi muốn biết cách giới hạn người dùng đặc quyền hoặc quyền truy cập của quy trình đối với các quy trình và tệp khác trái ngược với quyền truy cập đầy đủ của thư mục gốc.Làm thế nào để hạn chế quyền truy cập người dùng đặc quyền ở cấp hạt nhân Linux?
Cho đến bây giờ tôi tìm thấy:
- dùng và nhóm cho Discretionary Access Control (DAC), với sự khác biệt trong đọc, viết và thực hiện cho người dùng, nhóm và rễ
- người dùng khác cho các nhiệm vụ ưu tiên cao hơn
- setuid và setgid để mở rộng D sử dụng của AC và đặt ID nhóm/người dùng của quá trình gọi điện, ví dụ: người dùng chạy
ping
với quyền root để mở ổ cắm Linux - Khả năng cho các quyền chi tiết, ví dụ: loại bỏ chút suid của
ping
và thiết lậpcap_net_raw
- kiểm soát Groups (Cgroups) để hạn chế truy cập vào các nguồn tài nguyên tức là CPU, mạng, thiết bị io
- Namespace để xem quá trình riêng biệt về IPC, mạng, hệ thống tập tin, pid
- Secure Computing (Seccomp) để hạn chế hệ thống gọi
- Linux Security Modules (LSM ) để thêm tính năng bảo mật bổ sung như bắt buộc Access Control, ví dụ: SELinux với Loại thực thi
Danh sách có đầy đủ không? Trong khi viết câu hỏi, tôi đã tìm thấy chế độ làm mát để theo dõi sự kiện hệ thống tệp, ví dụ: để quét vi-rút. Có lẽ có nhiều tính năng bảo mật hơn.
Có bất kỳ tính năng bảo mật Linux nào khác có thể được sử dụng theo cách có thể lập trình từ bên trong hoặc bên ngoài tệp hoặc quy trình để hạn chế quyền truy cập đặc quyền không? Có lẽ có một danh sách đầy đủ.
Đọc [thông tin xác thực (7)] (http://man7.org/linux/man-pages/man7/credentials.7.html) và [khả năng (7)] (http://man7.org/linux /man-pages/man7/capabilities.7.html) và [không gian tên (7)] (http://man7.org/linux/man-pages/man7/namespaces.7.html) & [xattr (7)] (http://man7.org/linux/man-pages/man7/xattr.7.html) –