Điểm:0

Sự cố SELinux - trạng thái git nghiêm trọng: Hết bộ nhớ? mmap không thành công: Quyền bị từ chối

lá cờ cn

Tôi có máy chủ Centos 7.9 chạy với Apache và Git, tuy nhiên nếu tôi thực hiện

[root@a]# trạng thái git
gây tử vong: Hết bộ nhớ? mmap không thành công: Quyền bị từ chối

Nhưng nếu Vô hiệu hóa hoặc Cho phép SE-Linux thông qua các lệnh bên dưới thì nó sẽ bắt đầu hoạt động tốt.

setenforce cho phép

Bạn có ý tưởng nào về cách khắc phục sự cố này vĩnh viễn khi bật SELinux không?

Nhật ký kiểm tra cho biết

node=a type=PROCTITLE msg=audit(1630636505.296:37076): proctitle=67697400737461747573
node=a type=MMAP msg=audit(1630636505.296:37076): fd=3 flags=0x2
node=a type=SYSCALL msg=audit(1630636505.296:37076): arch=c000003e syscall=9 success=no exit=-13 a0=0 a1=3ebd0 a2=3 a3=2 items=0 ppid=8008 pid=8156 auid =1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=570 comm="git" exe="/usr/bin/git" subj=unconfined_u :unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
node=a type=AVC msg=audit(1630636505.296:37076): avc: bị từ chối { map } cho pid=8156 comm="git" path="/www/site/.git/index" dev="sda2" ino= 540400 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:httpd_t:s0 tclass=file permissive=0
Matthew Ife avatar
lá cờ jo
Root thường không bị giới hạn. Bạn có thể cung cấp kết quả của `id -Z` không?
Michael Hampton avatar
lá cờ cz
Kiểm tra nhật ký kiểm tra.
mahen3d avatar
lá cờ cn
@MichaelHampton Tôi đã thêm nhật ký kiểm tra vào nó có nội dung gì đó scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:httpd_t:s0 tclass=file permissive=0
mahen3d avatar
lá cờ cn
@MatthewIfe nó nói unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Điểm:2
lá cờ jo

Vấn đề là tệp này bạn đang ánh xạ:

/www/site/.git/index

Tệp này có kiểu httpd_t tuy nhiên, đó thực sự không phải là một loại tệp hợp pháp mà thay vào đó là một quá trình (hoặc loại miền như đã biết).

Bạn có lẽ nên đặt bối cảnh của /www như là httpd_sys_content_t hoặc nếu bạn muốn cho phép máy chủ web ghi vào nó httpd_sys_content_rw_t.

Nếu tôi phải đoán, tôi sẽ cho rằng bạn đã làm một chcon -t httpd_t trên /www lỗi.

Cách tiếp cận tốt nhất để khắc phục sự cố này đúng cách là đặt lại và khôi phục ngữ cảnh tệp:

# quản lý fcontext -a -t httpd_sys_content_t '/www(/.*)?'
# khôi phục con -rv /www

Điều này sẽ đặt bối cảnh chính xác và ngăn ngừa rủi ro bối cảnh trong tương lai.

Sau đó kiểm tra trạng thái git một lần nữa để kiểm tra xem nó có hoạt động không.

mahen3d avatar
lá cờ cn
vâng tôi đã chạy cái này, 'sudo chcon -Rv --type=httpd_t /www/'

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.