Saya baru mengenal SELinux. berasal dari debian. Saya ingin memberikan httpd
akses ke direktori.
Browser SELinux Alert menyarankan:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Saya tidak mengerti bagaimana cara kerja perintah ini. Saya tidak menentukan jalur direktori di mana pun. bagaimana cara mengetahui direktori mana yang memungkinkan httpd?
Sebelumnya saya telah menggunakan grep untuk mengekstrak teks dari output atau file. Tapi di sini grep sedang digunakan pada suatu proses. Itu tidak saya dapatkan.
Juga apa solusi yang sebenarnya. Jika saya ingin memberikan akses tulis httpd ke direktori?
fedora
rhel
apache-httpd
selinux
Neel Basu
sumber
sumber
Jawaban:
Berikut cara mengubah konteks direktori secara permanen:
Berikut beberapa dokumentasi lain tentang berbagai konteks untuk httpd:
RHEL 7: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Typ.html.html
RHEL 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
sumber
SELinux memanfaatkan atribut diperluas yang dapat ditambahkan ke struktur direktori pada disk. Pikirkan jika ini sebagai data meta. Daftar Kontrol Akses (ACL) menjadi yang lain.
Atribut diperluas yang Anda perlu tambahkan ke direktori disebut konteks dan SELinux bertindak seperti polisi lalu lintas, memastikan bahwa executable yang memiliki konteks tertentu diizinkan untuk mengakses sistem file berdasarkan konteks ini. Anda dapat melihat apa yang tersedia di direktori menggunakan
-Z
sakelar kels
.Di sini Anda dapat melihat bahwa direktori ini memiliki konteks
httpd_sys_script_exec_t:s0
padacgi-bin
direktori tersebut. danhtml
dir. telahhttpd_sys_content_t:s0
.Anda dapat menambahkan ini menggunakan
chcon
perintah:Perintah yang Anda tanyakan hanya akan memuat modul
mypoll.pp
saya tidak percaya itu akan memberikan izin apa pun, ada kemungkinan lebih banyak pesan diaudit.log
bahwa Anda hilang dengan perintah Anda, yang akan memberi tahu Anda secara lebih rinci apa yang Anda butuhkan lakukan untuk memungkinkan akses.Saya mendorong Anda untuk meluangkan waktu dan membiasakan diri dengan SELinux. Ini membingungkan pada awalnya tetapi umumnya mudah, setelah menghabiskan sedikit waktu dengannya. Lihat sumber daya di bawah ini untuk membantu Anda memulai.
Referensi
sumber
chcon -R -t httpd_sys_content_t <dir>