Nếu bạn nhìn vào bối cảnh được đặt cho thư mục / var / log, bạn sẽ nhận thấy những điều sau đây.
Đầu tiên, thư mục /var/log
có tập bối cảnh selinux sau:
$ ls -Z /var | grep "log$"
drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log
Thứ hai, tệp nhật ký /var/log/messages
, không có ngữ cảnh bổ sung:
$ ls -Z /var/log/messages
-rw------- root root ? /var/log/messages
Vì vậy, có vẻ như bạn chỉ cần đặt bối cảnh tương tự như bối cảnh /var/log
trên bất kỳ thư mục nào bạn dự định viết tệp nhật ký bổ sung này. Một cái gì đó như thế này nên làm điều đó.
Phương pháp # 1: sao chép nhãn selinux
Dưới đây sẽ sao chép bối cảnh liên quan /var/log
và áp dụng nó vào /opt/blah
.
$ mkdir /opt/blah
$ ls -Z /opt | grep blah
drwxr-xr-x root root ? blah
# label directory with context
$ chcon --reference /var/log /opt/blah
# see the newly added context
$ ls -Z /opt/ | grep blah
drwxr-xr-x. root root system_u:object_r:var_log_t:s0 blah
Phương pháp # 2: áp dụng bối cảnh trực tiếp
Bạn cũng có thể áp dụng chúng trực tiếp như vậy:
$ chcon system_u:object_r:var_log_t:s0 /opt/blah
Tôi đang ở ngoài một hệ thống nơi tôi có thể xác nhận sự cần thiết phải chạy các lệnh này nhưng tôi tin rằng bạn cần phải nói với SELinux để nhận các bối cảnh mới được áp dụng này cho hệ thống tệp.
$ semanage fcontext -a -t var_log_t "/opt(/.*)?"
$ restorecon -R -v /opt
xác nhận thay đổi
# confirm identical to /var/log context
$ ls -Z /var/ | grep "log$"
drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log
Người giới thiệu