SELinux, Apache'nin bir dosyaya yazmasını engelliyor


12

SELinux apachekullanıcının sahip olduğu bir günlük dosyasına yazmasını engelliyor . Yaptığımda işe setenforce 0yarıyor. Aksi takdirde bu hatayı gösterir

IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'

Dosyanın güvenlik içeriği:

$ ll -Z k.log 
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log

SELinux modu izin verilen şekilde ayarlandığında dosya oluşturuldu.

Güvenlik bağlamı, apachekullanıcının bu dizine yazabilmesi için nasıl ayarlanır ? Bu dizin güvenlik bağlamını kullanarak ayarladım chconancak uygun bir dosya türü bulamıyorum.

Gönderen audit.log:

type=AVC msg=audit(1409945481.163:1561): avc:  denied  { append } for  pid=16862 comm="httpd" name="k.log" dev="dm-1" ino=201614333 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file
type=SYSCALL msg=audit(1409945481.163:1561): arch=c000003e syscall=2 success=no exit=-13 a0=7fa8080847a0 a1=441 a2=1b6 a3=3 items=0 ppid=15256 pid=16862 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)

Yanıtlar:


10

Apache'nin yazmasını istediğiniz dosyalar için türün ayarlanmış olması gerekir httpd_sys_rw_content_t.


18

Daha önce de belirtildiği gibi, SELINUX'a bu dosyaya yazmaya izin vermesi talimatını vermelisiniz. Yapılması gereken doğru şey /var/www/webapp/k/site/tip olarak işaretlemektirhttpd_sys_rw_content_t

Kalıcı o dizini olarak işaretlemek için httpd_sys_rw_content_t, sen komutunu kullanabilirsiniz semanage fcontext -a -t httpd_sys_rw_content_t /var/www/webapp/k/site(/.*)?; restorecon -RF /var/www/webapp/k/site/ Bu SELINUX ikili politika güncellemelerini hayatta kalmak ve yeniden etiketlenmesi dosya sistemi olacaktır.


2
bu doğru cevap olarak işaretlenmiş olmalıdır. ve dizini kalıcı olarak işaretlemeniz önerilir (bu cevapta belirtildiği gibi).
skidadon

1
Muhtemelen parantezleri kabuktan kaçmanız gerekir.
Michael Hampton

6

Bu izinleri değiştirir:

chcon --type httpd_sys_rw_content_t /var/www/webapp/k/site/k.log

1
Bu hatayı alıyorum: -bash: beklenmedik belirtecin yanında sözdizimi hatası `` ('
Derrick Miller
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.