JoyentのBase64 1.8.1 SmartOSイメージのSMF(サーバー管理機能)でサーバープロセスを実行しています。
SmartOSを使用していない場合は、KVMを使用したIllumOSのクラウドベースのディストリビューションです。しかし、本質的にはSolarisのようなもので、OpenSolarisを継承しています。SmartOSを使用していない場合でも、ServerFaultに関するSolarisの知識を活用したいと思っています。
私の問題は、権限のないユーザーに、所有しているサービスの再起動を許可することです。私は、RBACを使用し、承認を/etc/security/auth_attr
ユーザーに追加して、その承認をユーザーに関連付けることで、その方法を考え出しました。
次に、サービスのSMFマニフェストに以下を追加しました。
<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>
そして、これはインポート時にうまく機能します。権限のないユーザーが、独自のサーバープロセスを再起動、開始、および停止することを許可されています(これは自動コード展開用です)。
ただし、SMFマニフェストをエクスポートすると、この構成データは失われます...そのセクションに表示されるのはこれだけです。
<property_group name='general' type='framework'>
<property name='action_authorization' type='astring'/>
<property name='value_authorization' type='astring'/>
</property_group>
なぜこれが起こっているのか誰か知っていますか?構文が間違っていますか、それとも単にSMFを誤って使用していますか?