Mengenal Access Permission Setuid, Setgid di GNU/Linux


Pada tulisan sebelumnya kita telah membahas mengenai Sticky Bit. Yang mana berfungsi hanya akun owner dan root saja yang bisa memodifikasi perubahan suatu berkas atau direktori. Tulisan kali ini, kita melanjuti pembahasan tentang special permission lainnya, yakni setuid dan setgid, yang mana kedua permission ini memiliki keunggulan masing-masing terutama dalam hal security.

Setuid

Setuid atau SUID adalah special permission yang mana hanya pengguna owner dan root saja yang bisa menghapus atau me-rename. Berbeda dengan sticky bit, yang mana hanya berefek pada berkas/direktori yang mana berada dalam parent/top directory-nya. Setuid ditandai dengan nilai bit 4 dan tulisan s atau S di awal. Jadi ketika kita ingin menggunakan setuid gunakan angka 4 di awal.

Cara menggunakannya

Contoh:

Kita buat berkas misalnya bernama Halo lalu isikan dengan apapun dan gunakan permission 4777.


Lihat di atas, berwarna merah dah ada notasi s (kecil/lowercase). Padahal permission mengizinkan semua bisa read, write, execute. Namun kita pengguna lain ingin mencoba menghapus ia tidak bisa. Lalu bagiamana dengan S (kapital/uppercase) ? Ini artinya pada hanya owner tidak diberikan permission execute (x).

Perintah berikut untuk mengaktifkan Setuid bit dengan S.


Setgid

Setgid atau GUID adalah suatu special permission yang mana ia otomatis memaksa hanya mengeset group pada berkas atau direktori di dalamnya disesuaikan dengan primary group dari user yang membuat setgid tersebut.

Setgid ditandai dengan nilai bit 2 atau huruf s dan S di tengah (group). Lihat perbedaanya:

Berkas animal menggunakan setuid sedangkan direktori zoo menggunakan setgid.

Cara menggunakannya

Contoh kasus

Kita buat suatu direktori bernama zoo dengan setiap user primary group-nya masing-masing berbeda. Katakanlah ali:users, fulan:fulan, fulanah:fulanah. Kita bisa mengecek tiap user menggunakan primary gruop yang ia digunakan, dengan perintah id -gn username. Kemudian masing-masing user tersebut memiliki secondary group yang sama yakni group users.

Berikut perintahnya:


Perhatikan berkas yang dibuat oleh tiap-tiap user di atas, semua otomatis berubah menjadi group users. Bisa kita cek sendiri group users pada fulan dan fulanah itu masuk dalam secondary group. Bisa dicek dengan perintah groups username.

Kita akan melakukan percobaan lagi, menghapus secondary group dari fulan. Yang mana si fulan mencoba membuat berkas pada direktori zoo. Dalam hal ini fulan berarti masuk dalam kategori others, kita harus merubah permission yang sebelumnya 2770 menjadi 2777. Berikut ini perintahnya:


Perhatikan gambar di atas ketika fulan membuat berkas bernama macam, ia otomatis berubah menjadi group users. Nah menarik bukan? Tentu saja.

Kesimpulan

Dengan menggunakan setuid berfungsi memberikan suatu proteksi tambahan yakni semua user boleh memodifikasi tetapi tidak bisa mengapus. Mirip seperti sticky bit, hanya saja setuid ini lebih fleksibel kita boleh melekataknnya dimanapun, berbeda dengan sticky bit baru baru berefek di bawah direktori yang diset.

Dengan setgid memberikan suatu keuntungan berkas yang ada di bawahnya dipaksa menggunakan primary group dari user yang mengeset. Hal ini bisa kita manfaatkan misalnya pada direktori /var/www/html di mana semua user dipaksa menggunakan group www-data atau http.

Semoga bermanfaat.

Ayo Berlangganan!

Dapatkan pemberitahuan artikel-artikel terbaru super cepat, langsung dari surel Anda.
Lebih dari 320 telah berlangganan situsali.com, ayo segera daftarkan surel Anda sekarang juga!



Perhatian!

Demi kenyamanan bersama, sebelum berkomentar, harap gunakan bahasa yang baik dan benar. Juga baca aturan dalam berkomentar. Dilarang berkomentar yang dapat memicu pertengkaran dan menyinggung unsur SARA (Suku, Agama, Ras, dan Antar Golongan).

Leave a Reply