Joyent'ın Base64 1.8.1 SmartOS görüntüsündeki SMF (Sunucu Yönetim Tesisi) altında bir sunucu işlemi çalıştırıyorum.
SmartOS ile tanışmayanlar için, IllumOS'un KVM ile bulut tabanlı bir dağılımıdır. Ama aslında Solaris gibi ve OpenSolaris'ten miras. SmartOS kullanmasanız bile, ServerFault üzerinde bazı Solaris bilgisinden faydalanmayı umuyorum.
Benim sorunum, ayrıcalıksız bir kullanıcının sahip olduğu bir hizmeti yeniden başlatmasına izin verilmesini istiyorum. RBAC kullanarak ve bir yetkilendirme ekleyerek /etc/security/auth_attr
ve bu yetki kullanıcı ile ilişkilendirerek bunu nasıl yaptım.
Daha sonra hizmet için SMF bildirimime aşağıdakileri ekledim:
<property_group name='general' type='framework'>
<!-- Allow to be restarted-->
<propval name='action_authorization' type='astring'
value='solaris.smf.manage.my-server-process' />
<!-- Allow to be started and stopped -->
<propval name='value_authorization' type='astring'
value='solaris.smf.manage.my-server-process' />
</property_group>
Ve bu içe aktarıldığında iyi çalışır. Ayrıcalıklı kullanıcımın kendi sunucu işlemini yeniden başlatmasına, başlatmasına ve durdurmasına izin verilir (bu, otomatik kod dağıtımları içindir).
Ancak, SMF bildirimini dışa aktarırsam, bu yapılandırma verileri kaybolur ... bu bölümde gördüğüm tek şey şu:
<property_group name='general' type='framework'>
<property name='action_authorization' type='astring'/>
<property name='value_authorization' type='astring'/>
</property_group>
Bunun neden olduğunu bilen var mı? Sözdizim yanlış mı yoksa sadece SMF'yi yanlış mı kullanıyorum?