Saya menjalankan proses server di bawah SMF (Server Management Facility) pada Joyent's Base64 1.8.1 SmartOS image.
Bagi mereka yang tidak tahu tentang SmartOS, itu adalah distribusi berbasis cloud dari IllumOS dengan KVM. Tetapi pada dasarnya itu seperti Solaris dan mewarisi dari OpenSolaris. Jadi, bahkan jika Anda belum pernah menggunakan SmartOS, saya berharap dapat memanfaatkan beberapa pengetahuan Solaris tentang ServerFault.
Masalah saya adalah bahwa saya ingin pengguna yang tidak berhak diizinkan untuk memulai kembali layanan yang mereka miliki. Saya telah mengetahui cara melakukannya dengan menggunakan RBAC dan menambahkan otorisasi ke /etc/security/auth_attr
dan menghubungkan otorisasi itu dengan pengguna saya.
Saya kemudian menambahkan yang berikut ini ke manifes SMF saya untuk layanan:
<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>
Dan ini berfungsi dengan baik saat diimpor. Pengguna saya yang tidak memiliki hak diizinkan untuk memulai kembali, memulai dan menghentikan proses servernya sendiri (ini untuk penerapan kode otomatis).
Namun, jika saya mengekspor manifes SMF, data konfigurasi ini hilang ... yang saya lihat di bagian itu adalah ini:
<property_group name='general' type='framework'>
<property name='action_authorization' type='astring'/>
<property name='value_authorization' type='astring'/>
</property_group>
Adakah yang tahu mengapa ini terjadi? Apakah sintaks saya salah, atau apakah saya hanya menggunakan SMF secara salah?