У меня возникли проблемы с контекстом SELinux нескольких моих файлов с моей настройкой openstack-swift.
Сведения о настройке:
Демон запускает swift-object-replicator со следующим контекстом SELinux.
system_u:system_r:swift_t:s0 swift ... /usr/bin/python /usr/bin/swift-object-replicator /etc/swift/object-server.conf
Этот демон периодически вызывает сценарий. Файл, созданный этим сценарием, имеет следующий контекст SELinux.
system_u:object_r:swift_var_cache_t:s0 /var/cache/swift/object.recon
Что правильно !!
Проблема
Если я запускаю тот же скрипт (который этот демон вызывает внутри) с терминала как «root», контекст SELinux файла object.recon изменяется, как показано ниже -rw-------. swift swift unconfined_u:object_r:var_t:s0 /var/cache/swift/object.recon
И затем я начинаю видеть сообщения об ошибках в файлах журнала этого демона.
Любая идея, почему контекст меняется и как его сохранить, даже если я хочу запустить скрипт с терминала
/var/cache/swift(/.*)? regular file system_u:object_r:swift_var_cache_t:s0
, но как его обеспечить. Restorecon исправляет ситуацию, но только временно, пока кто-нибудь снова не нажмет команду из терминала :( - person mittal   schedule 18.05.2016sesearch --allow --source swift_t --target swift_var_cache_t --class file
и обновить свой пост с результатом? - person alvits   schedule 18.05.2016allow swift_t swift_var_cache_t : file { ioctl read write create getattr setattr lock append unlink link rename open } ;
- person mittal   schedule 19.05.2016runcon -t swift_t -r system_r -u system_u swift-object-replicator /etc/swift/object-server.conf -ov
Это сохраняет контексты - person mittal   schedule 19.05.2016module junk1 1.0; require { type unconfined_t; type swift_exec_t; type swift_t; role unconfined_r; class process transition; } #============= TRANSITIONS ======== type_transition unconfined_t swift_exec_t:process swift_t; #============= ROLES ============== role unconfined_r types swift_t;
- person mittal   schedule 19.05.2016