Cách thích hợp để đặt bối cảnh SELinux trong RPM .spec là gì?


14

Tôi đang cố gắng xây dựng một RPM nhắm mục tiêu vào RHEL4 và 5. Ngay bây giờ tôi gọi chcontừ %postnhưng nhiều mục nhập của Google nói rằng "đó không phải là cách bạn phải làm" với sự giúp đỡ rất hạn chế theo đúng cách. Tôi cũng nhận thấy rằng fixfiles -R mypackage checkcác tệp sai khi chúng đúng (như mong đợi; RPM DB không nhận ra tôi muốn gì) ..

  • Tôi đặc biệt nói rằng RHEL4 bởi vì nó khôngsemanagemà dường như là một trong những cách thích hợp để làm điều đó. (Thêm một chính sách mới và sau đó chạy restorecontrên các thư mục của bạn %post.)

    • Tôi cũng không cần bối cảnh của riêng mình, chỉ httpd_cache_ttrên một thư mục không chuẩn.
  • Tôi cũng đã thấy "hãy cpiochăm sóc nó" - nhưng sau đó tôi gặp một vấn đề mới là người dùng xây dựng RPM không root không thể chạy chcontrên các thư mục xây dựng. Tôi đã gian lận và có sudotrong tập tin spec nhưng dù sao điều đó dường như không quan trọng.

Câu trả lời:


9

Các Hướng dẫn Bao bì Fedora có một dự thảo văn bản giải thích làm thế nào để xử lý SELinux trong các gói, và họ sử dụng semanage. Nếu không semanage, có vẻ như việc hỗ trợ RHEL 4 sẽ là một hack, và không có cách nào khác.

Theo ghi chú phát hành 4.9.0 vòng / phút , đã có một số hỗ trợ trực tiếp trong vòng / phút để quản lý các chính sách của Selinux, nhưng nó đã bị phá vỡ trong lịch sử:

  • Các phiên bản cũ hơn của RPM đã hỗ trợ chỉ thị chính sách% trong thông số kỹ thuật để đính kèm các chính sách của Selinux vào tiêu đề gói, nhưng điều này không bao giờ thực sự có thể sử dụng cho bất cứ điều gì. Bất kỳ việc sử dụng chỉ thị chính sách% nào trong thông số kỹ thuật nên được loại bỏ vì chỉ thị không được sử dụng này ngăn chặn việc xây dựng với RPM 4.9.0 trở lên, trong khi không làm gì cho các phiên bản cũ hơn.
  • Bắt đầu với RPM 4.9.0, bao bì chính sách của SELinux được hỗ trợ thông qua phần% sepolicy mới trong thông số kỹ thuật. Các gói như vậy không thể được xây dựng, nhưng cũng có thể cài đặt trên các phiên bản RPM cũ hơn (nhưng các chính sách đi kèm sẽ không được sử dụng theo bất kỳ cách nào).

Tôi không thấy đề cập đến bối cảnh tệp nào ở đó và tôi không thể tìm thấy bất kỳ đề cập nào về hỗ trợ ngữ cảnh tệp trực tiếp (như %attrtrong %filesphần). Trong mọi trường hợp, có vẻ như RHEL 6 chỉ trên vòng tua máy 4.8.0, vì vậy (trừ khi tôi đã bỏ lỡ điều gì đó), semanagetuyến đường sẽ tốt như chúng ta sẽ có thể thực hiện ít nhất cho đến khi RHEL 7.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.