Agus Setiawan's Blog

Life with UNIX/Linux

pfexec OpenSolaris

without comments

Pada OpenSolaris, pengaturan hak atau privileges di atur oleh RBAC (Role Based Access Control). Rights profiles(RP)  atau hak profile di definiskan sebagai kumpulan kemampuan administrasi yang dapat di berikan kepada role atau user.  Sehingga akses tertinggi di OpenSolaris ada didalam role atau terjemahan dari Google artinya peran. RP ini mengandung autorisasi, command dengan atribut keamanan, dan hak profile lainnya, sehingga  RBAC ini memudahkan pengelompokkan atribut keamanan. Dengan RBAC, kamu sebagai sistem administrator yang pertama kali dilakukan yaitu membuat profil dan kemudian memberikan profile yang telah dibuat kepada role. Yang pada akhirnya kamu dapat memberikan kemampuan kepada pengguna untuk menjadi peran tertentu.

Kamu dapat memberikan sebuah profil secara langsung kepada sebuah user, sehingga user ini dapat menjalankan perintah yang dimiliki root tanpa harus login menjadi root superuser. User diminta mengetikkan pfexec sebelum menjalankan perintah root tersebut dan tanpa memasukkan password.  Sama halnya dengan su atau sudo di Linux.

Berikut ini akan diberikan contoh kasus pendelegasian tugas / task:

Asumsikan bahwa ada user testuser yang akan melakukan share dan unshare direktori melalui Network File System (NFS).  Sebagai normal user, user testuser tidak memiliki priviliges tersebut sehingga tidak di ijinkan untuk melakukan perintah share.

testuser@opensolaris:~$ share /export/home/testuser
Could not share: /export/home/testuser: no permission

testuser@opensolaris:~$ pfexec share /export/home/testuser
Could not share: /export/home/testuser: no permission

testuser@opensolaris:~$ pfexec su -
Password:
Roles can only be assumed by authorized users
su: Sorry

Akan tetapi, kamu dapat menambahkan sebuah profil dengan kemampuan share kepada testuser. Lakukan langkah berikut :

1. Login sebagai root dan buatlah user dan direktori terlebih dulu

# groupadd testuser
# useradd -g testuser -d /export/home/testuser -m -s /bin/bash testuser
80 blocks
# passwd testuser
New Password:
Re-enter new Password:
passwd: password successfully changed for testuser

2. Buka terminal baru dan cobalah untuk login menggunakan user testuser yang telah dibuat

3. Cari profil pada file exec_attr untuk perintah share . Dibawah ini merupakan output yang ditampilkan dan semuanya matching pada File System Management

# grep “share” /etc/security/exec_attr
File System Management:suser:cmd:::/usr/sbin/dfshares:euid=0
File System Management:suser:cmd:::/usr/sbin/share:uid=0;gid=root
File System Management:suser:cmd:::/usr/sbin/shareall:uid=0;gid=root

File System Management:suser:cmd:::/usr/sbin/sharemgr:uid=0;gid=root
File System Management:suser:cmd:::/usr/sbin/unshare:uid=0;gid=root
File System Management:suser:cmd:::/usr/sbin/unshareall:uid=0;gid=root

File System Management:suser:cmd:::/usr/share/setup-tool-backends/scripts/shares-conf:uid=0
Maintenance and Repair:suser:cmd:::/usr/share/setup-tool-backends/scripts/time-conf:uid=0
Network Management:suser:cmd:::/usr/share/setup-tool-backends/scripts/network-conf:uid=0
Service Management:suser:cmd:::/usr/share/setup-tool-backends/scripts/services-conf:uid=0
User Management:suser:cmd:::/usr/share/setup-tool-backends/scripts/users-conf:uid=0
Web Console Management:solaris:cmd:::/usr/share/webconsole/private/bin/smcwebstart:uid=noaccess;gid=noaccess;privs=proc_audit

4. Login sebagai root dan berikan hak File System Management kepada testuser. Ikuti perintah dibawah ini :

# usermod -P ‘File System Management’ testuser

NOTE : untuk melihat efek perubahannya, testuser tidak perlu logout kemudian login lagi.

5. Langkah terakhir, kita akan mengetesnya.

sebelum :

# share
myzfs_colin2@m  /myzfs/colin2   rw   “”

sesudah :

# share
-               /export/home/testuser   rw   “”

myzfs_colin2@m  /myzfs/colin2   rw   “”

VOILA!

reference :

[0] http://developers.sun.com/developer/technicalArticles/opensolaris/pfexec.html

Written by Agus Setiawan

December 23rd, 2009 at 5:12 am

Posted in OpenSolaris, pfexec

Leave a Reply