Fedora 24 üzerinde çalıştırmaya çalıştığım bir hizmet / tek ikili uygulama yazdım, systemd kullanarak çalışıyor, ikili konuşlandırılıyor /srv/bot
yazdığım bu hizmet / uygulama bu dizindeki dosyaları oluşturmak / açmak / okumak ve yeniden adlandırmak gerekiyor.
İlk olarak SELinux'a dayalı yeni bir politika oluşturmaya başladım : bir işlemin belirli bir dizinde herhangi bir dosya oluşturmasına izin ver
ancak uygulamamın yeniden adlandırılması gerektiğinde çıktının bir uyarısı vardı:
#!!!! WARNING: 'var_t' is a base type.
allow init_t var_t:file rename;
Etrafımda dolaştım ve bir taban türünden daha spesifik bir SELinux etiketi kullanmam gerektiğini öğrendim, ancak tüm örnekler çevrimiçi olarak httpd / nginx / etc'den mevcut etiketleri gösteriyor.
Yalnızca kendi uygulamam için özel bir etiket oluşturmanın bir yolu var mı?
Benim fikrim myapp_var_t gibi bir şey yaratmak, kullanmak
semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?'
restorecon -R -v /srv/bot
ve .pp
bu özel türü kullanacak özel bir dosya
Çözmenin daha iyi bir yolu varsa, bu da işe yarar.
Teşekkürler
Güncelleme
Etrafımda daha fazla arama yaptıktan sonra yapmak istediğim şey için uygun terimin types
beni https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916 adresine yönlendirdiğini düşünüyorum.
temelde der ki, koş
sepolgen /path/to/binary
ve daha sonra bir pp dosyasına derleyebileceğim ve yükleyebileceğim bir şablon alabildim, yine de bazı hatalar alıyorum ama ne yapmak istediğime daha yakınım gibi görünüyor.
Çalışırsam bu yayını güncelleyeceğim