Tôi đang cố gắng hiểu cách người dùng hạn chế selinux thực sự hoạt động, nhưng có một vài hành vi mà tôi vẫn không thể hiểu được.
Dựa theo Mũ đỏ
Khả năng người dùng SELinux
người dùng stuff_u có thể chạy sudo, nhưng không phải su.
Vì vậy, tôi đã tạo người dùng người dùng nào đó và ánh xạ nó tới staff_u
[someuser@testserver ~]$ id -Z
staff_u:staff_r:staff_t:s0-s0:c0.c1023
Bây giờ nếu tôi thêm đầy đủ quyền bằng sudo, nhưng không đặt vai trò/loại trên sudoers, tôi sẽ không thể làm được gì nhiều (như mong đợi).
[someuser@testserver ~]$ sudo -l
Khớp các mục nhập Mặc định cho someuser trên máy chủ thử nghiệm:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="MÀU SẮC HIỂN THỊ HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL NGÔN NGỮ NGÔN NGỮ _XKB_CHARSET XAUTHORITY",
safe_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
Người dùng someuser có thể chạy các lệnh sau trên máy chủ thử nghiệm:
(TẤT CẢ) NOPASSWD: TẤT CẢ
[someuser@testserver ~]$ sudo ls -la /var/log/audit/audit.log
ls: không thể truy cập '/var/log/audit/audit.log': Quyền bị từ chối
[someuser@testserver ~]$ sudo ausearch -m avc -ts gần đây
Lỗi khi mở tệp cấu hình (Quyền bị từ chối)
LƯU Ý - sử dụng nhật ký tích hợp: /var/log/audit/audit.log
Lỗi khi mở /var/log/audit/audit.log (Quyền bị từ chối)
[someuser@testserver ~]$
Nếu tôi thay đổi sudoers để thực hiện chuyển đổi thành sysadm_r và sysadm_t, về cơ bản tôi đã mong được cấp phép để làm bất cứ điều gì, nhưng đó không phải là chính xác những gì tôi đang nhận được.
Tôi có thể làm rất nhiều thứ:
[someuser@testserver ~]$ sudo -l
Khớp các mục nhập Mặc định cho someuser trên máy chủ thử nghiệm:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="MÀU SẮC HIỂN THỊ HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL NGÔN NGỮ NGÔN NGỮ _XKB_CHARSET XAUTHORITY",
safe_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
Người dùng someuser có thể chạy các lệnh sau trên máy chủ thử nghiệm:
(TẤT CẢ) VAI TRÒ=sysadm_r TYPE=sysadm_t NOPASSWD: TẤT CẢ
[someuser@testserver ~]$ sudo ausearch -m avc -ts gần đây | wc -l
66
[someuser@testserver ~]$ sudo ls -la /var/log/audit/audit.log
-rw-------. 1 gốc gốc 1996980 ngày 30 tháng 7 12:55 /var/log/audit/audit.log
[someuser@testserver ~]$ sudo cat /var/log/audit/audit.log | wc -l
8172
[someuser@testserver ~]$
Nhưng một số lệnh vẫn bị chặn, ví dụ postsuper từ gói postfix.
[someuser@testserver ~]$ sudo postsuper
sesh: không thể thực thi /sbin/postsuper: Quyền bị từ chối
[someuser@testserver ~]$ file /sbin/postsuper
/sbin/postsuper: không thể mở `/sbin/postsuper' (Quyền bị từ chối)
[someuser@testserver ~]$ tập tin sudo /sbin/postsuper
/sbin/postsuper: Đối tượng chia sẻ LSB 64 bit ELF, x86-64, phiên bản 1 (SYSV), được liên kết động, trình thông dịch /lib64/ld-linux-x86-64.so.2, cho GNU/Linux 3.2.0, BuildID[sha1]=aa0157870508c475195fe5fb1dafe5a9b3898a61, bị tước
[someuser@testserver ~]$
Bất cứ ai có thể vui lòng giải thích cho tôi lý do của điều đó? điều kỳ lạ nhất là tôi không thấy bất kỳ sự từ chối nào trên /var/log/audit/audit.log đối với lệnh postsuper. Nhưng nó phải liên quan đến SELINUX vì nếu tôi thay đổi người dùng trở lại unconfined_u thì mọi thứ sẽ hoạt động.