Memahami Advanced Files Permission Pada Linux

Memahami File Permission pada Linux

 

Pada linux file sistem, semua file dan folder mempunyai permission(rambu hak akses) untuk setiap user dan group,tujuan diberlakukan/set file permission pada linux adalah untuk alasan keamanan  yang tujuan utamanya adalah membatasi akses user terhadap suatu file,cara ini sangat efektif untuk memproteksi file sistem dari modifikasi user yang tidak bertanggung jawab (hacker).

Memahami Hak Kepemilikan File

.Setiap file dan folder pada linux dimiliki oleh user tertentu(owner) dan group tertentu dan tidak sembarang user bisa mengakses dan memodifikasi file tersebut, hak akses suatu file didefinisikan dalam suatu atribut yang sering disebut file permission.

Pada attribut file permission menjelaskan permission/hak akses untuk 3 kelompok user,yaitu :

  • Ownner : Menjelaskan Permission/hak akses untuk owner/pemilik file tersebut.
  • Group : Menentukan permission/hak akses untuk sekelompok user yang masuk dalam group tersebut. jadi semua user yang masuk ke group tersebut akan mempunyai hak akses file yang sama
  • Other/World : Menentukan permission/hak akses untuk user selain owner dan user diluar group yang tercantum pada file permisison.

Memahami Attribute File Permission

Untuk menjelaskan hak akses suatu file,linux menggunakan flag permission ,dimana setiap flag menjelaskan hak akses untuk user owner,group dan world/other.

  • Read (R) : Hak akses untuk membaca isi file/folder
  • Write(W) : Hak akses untuk memodifikasi suatu file/memodifikasi isi folder
  • Execute(X) : Hak akses untuk mengeksekusi sutu file/menjalankan aplikasi.

Jadi pada attribut file permission nanti ada flag permission seperti diatas untuk menentukan hak akses user terhadap file tersebut.

Selain dengan simbolic/huruf,flag file permission juga bisa dijabarkan menggunakan angka. Metode atribut angka jauh lebih efisien saat kamu ingin mengeset attribut suaru file,karena kamu hanya mengetikan 1 digit file untuk setiap segmen (total 3 digit angka untuk mengeset permission  owner,group dan other).
Attribut/permission Read(R) mempunyai nilai 2 ,Write (W) mempunyai nilai 4 sedangkan attribut executable(X) mempunyai nilai 1.

Jadi jika kamu ingin megeset permission suatu file dengan hak akses Owner (read,write,execute) ,group (read,execute) dan Other (read,execute) maka kamu cukup mengesetnya menggunakan 3 digit angka yaitu 755

memahami file permission pada linux

$ chmod 755 nama_file_folder

 

 

 

 

PSticky bit Permission

 

sticky bit permission ini digunakan untuk mengantisipasi dihapusnya sebuah file/folder oleh user  (other/world) yang mempunyai permission Write (w) terhadap file/folder tersebut,dengan demikian hanya root dan owner yang bisa mendelet file/folder tersebut. jadi ingat,attribut ini hanya digunakan untuk mengeset user yang masuk dalam kategori other/world (bukan owner ataupun group).
sticky bit permission dengan executable permission

numeric value sticky bit permission =1 dan sysmbolic character sticky bit permission =t

Contoh kamu ingin mengeset sticky bit permission pada folder /home/share maka kamu bisa mengesetnya menggunakan :

Cara symbolic
# chmod o+t /home/share atau chmod +t /home/share 
Untuk menghapus atribut permision kamu bisa gunakan operator  (minus)
# chmod o-t /home/share atau chmod -t /home/share

Cara Numeric
Pertama kamu harus tau permission seperti apa yang kamu inginkan pada directory /home/share misal : drwxrw-rwx lalu kamu bisa mengkonversinya  kedalam numeric 3 digit  permission dan  menambahkan angka 1 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)  r(2)+w(4)+ (0) r(2)+w(4)+x(1) –> drwxrw-rwx =767
# chmod 1767 /home/share

setelah diberi attribut sticky bit permission maka jika dilihat menggunakan perintah ls -l maka akan terlihat seperti dibawah ini

[[email protected] ~]# chmod 1767 /home/share 
[[email protected] ~]# ls -l /home/ 
drwxrw-rwt 1 root root 0 Jul 11 14:25 share

 

T besar dan t Kecil pada sticky bit attribute

T besar dan t kecil memiliki makna yang berbeda, dimana T besar mengindikasikan atribut x tidak diset dan t kecil mengindikasikan attribut x diset.
Logic nya begini sticky bit + execute permision diwakili dengan t kecil dan  sticky bit + non execute permission diwakili dengan Tbesar
sticky bit permission tanpa executable permission

contoh: jika kamu ingin membuat folder /home/share menjadi non executable tapi tetap menerapkan attribut sticky bit permission maka caranya :

Cara symbolic
$ sudo chmod o+t /home/share atau chmod +t /home/share 

$ sudo chmod o-x /home/share

Cara Numeric
Pertama kamu harus tau permission seperti apa yang kamu inginkan pada directory /home/share misal : drwxrw-rw- lalu kamu mengkonversinya kedalam numeric 3 digit  permission dan  menambahkan angka 1 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)  r(2)+w(4)+ (0) r(2)+w(4)+(0) –> drwxrw-rw- =766
chmod 1766 /home/share

 mari lihat dengan perintah ls -l maka hasilnya akan terlihat seperti dibawah ini (atribut T besar)

[[email protected] ~]# chmod 1766 /home/share 
[[email protected] ~]# ls -l /home/ 
drwxrw-rwT 1 root root 0 Jul 11 14:25 share

 

SUID Permission

 

SUID (Set owner User ID up on execution) merupakan special permission yang diberikan kepada file pada linux sistem.Secara normal ketika aplikasi dijalankan di linux aplikasi tersebut dieksekusi menggunakan user dan permission dari user itu sendiri.SUID memberikan permission secara sementara kepada aplikasi agar dijalankan menggunakan user dan permission dari owner file/aplikasi tersebut, bukan menggunakan user dan permission user yang menjalanan nya.

cara setting SUID permisison di linux

Kapan dan untuk apa SUID digunakan?

SUID digunakan ketika kita sebagai admin tidak mau memberikan akses root /sudo kepada user yang akan menjalankan aplikasi tertentu,tetapi aplikasi tertentu hanya bisa berjalan jika dijalankan oleh root maka solusinya adalah dengan set owner aplikasi ke user root dan  menambahkan permission SUID ke aplikasi tersebut.Setelah aplikasi diset SUID maka aplikasi akan berjalan menggunakan user root dan permission root walau dijalankan oleh user biasa tanpa permission root /sudo.

Cara mengeset SUID pada sebuah file /aplikasi 

SUID memiliki numerical value 4 dan symbolic value s ,jadi untuk mengeset file/folder dengan attribut SUID kita hanya perlu menambahkan angka 4 pada digit pertama saat set permission menggunakan cara numerical/octal  dan menambahkan +s jika menggunakan cara symbolic

Contoh : kita ingin set SUID pada file degan nama aplikasi.sh

Cara symbolic
# chmod u+s aplikasi.sh dan untuk menghapus SUID permission  gunakan  # chmod u-s aplikasi.sh 

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada file aplikasi.sh misal : -rwx–x–x lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 4 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)    (0)+(0)+ x(1)     (0)+(0)+x(1) –> -rwx–x–x =711
# chmod 4711 aplikasi.sh untuk menghapus SUID permission ganti 4 jadi tak ada # chmod 711 aplikasi.sh

Mengeset SUID harus dilakukan oleh user owner yang ingin permission nya diturunkan (inherit) ketika file/aplikasi tersebut dijalankan oleh user lain.

S besar dan s kecil memiliki arti yang berbeda ketika muncul di atribut saat menggunakan perintah ls -l ,dimana S besar mengindikasikan atribut x tidak diset dan s kecil mengindikasikan attribut x diset.
Logic nya begini SUID + execute permision diwakili dengan s kecil dan  SUID + non execute permission diwakili dengan S besar

 

 

SGID Permisison

 

SGID (Set Group ID up on execution) adalah special permission yang diberikan untuk file/folder pada linux.Pada kasus normal,ketika user mengeksekusi file/aplikasi maka aplikasi tersebut akan berjalan menggunakan user dan permission user yang menjalankannya.SGID atribut memberikan permission sementara kepada user diluar group (other) untuk menjalankan file/aplikasi menggunakan permission group dari file/aplikasi itu sendiri.
cara set SGID advanced permission pada linux

SGID mirip dengan SUID.Perbedaan nya adalah SUID menggunakan owner permission untuk menjalankan file/aplikasi sedangkan SGID menggunakan group permission untuk menjalankan file/aplikasi ketimbang menggunakan permission user yang menjalankan file/applikasi tersebut.

Cara mengeset SGID pada sebuah file /aplikasi 

SGID memiliki numerical value 2 dan symbolic value s ,jadi untuk mengeset file/folder dengan attribut SUID kita hanya perlu menambahkan angka 2 pada digit pertama saat set permission menggunakan cara numerical/octal  dan menambahkan +s jika menggunakan cara symbolic

Contoh : kita ingin set SGID pada file degan nama aplikasi.sh

Cara symbolic
# chmod g+s aplikasi.sh dan untuk menghapus SUID permission  gunakan  # chmod g-s aplikasi.sh 

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada file aplikasi.sh misal : -rwxrwx— lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 2 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)    r(2)+w(4)+ x(1)     (0)+(0)+(0) –> -rwxrwx— =770
# chmod 2770 aplikasi.sh untuk menghapus SUID permission ganti 4 jadi tak ada # chmod 770 aplikasi.sh

KESIMPULAN

Saat kamu belajar linux server kamu wajib untuk mempelajari dan memahami advanced dan special permission linux,karena akan sangat membantu mengatasi masalah saat kamu mengelola server linux.

Browsing dengan Aman Menggunakan SSH Tunnel

Tujuan

Agar apa yang kita browsing tidak bisa di monitor oleh IT Administrator

Skema

Komputer kamu akan membuka koneksi Secure menggunakan protokol SSH ke server SSH setelah itu komputer kamu akan di atur agar setiap browsing menggunakan jalur tersebut sehingga Admin IT Administrator di kantor kita tidak bisa melihat apa yang sedang kita browsing.

Caranya

Silakan daftar ke http://www.vpnjantit.com/ agar kamu punya server ssh tunnel yang gratis lalu setelah kamu berhasil kamu bisa menggunakan akses SSH tersebut.

 

Buka terminal dan jalankan perintah berikut

ssh -D 8000 -f -C -q -N [email protected]serversshkamu.com

Penjelasan perintah tersebut:

  • ssh : adalah sebuah aplikasi SSH client
  • -D: Memberi tahu SSH bahwa kita akan menggunakan koneksi SOCKS tunnel menggunakan port 8000 (kamu boleh pilih nomor antara 1025-65536)
  • -f: Jalankan proses di background
  • -C: Compress data sebelum di kirim
  • -q: Menggunakan quite mode
  • -N: Memberitahu SSH bahwa tidak ada perintah apapun saat tunnel terjadi

 

Pastikan kamu mengganti userkamu dengan user yang kamu dapatkan dari ssh server dan juga serversshkamu di ganti dengan server ssh yang sudah kamu dapatkan.

Untuk memastikan tunnel kamu berjalan dengan lancar kamu bisa jalankan perintah berikut

ps aux | grep ssh

Seharusnya kamu akan melihat hasil nya seperti ini

hary 3166   0.0  0.1  2445908   4896 s001  S+    2:17PM   0:01.51 ssh -D 8000 -C -q -N [email protected]

 

jika hasilnya kurang lebih seperti itu berarti komputer kamu sudah terhubung dengan server ssh, langkah selanjutnya adalah melakukan pengaturan di browser untuk menggunakan tunnel yang sudah di buat tadi.

 

Buka Mozilla Firefox kemudian masuke ke menu Preferences atau Option

  1. Kemudian arahkan ke Advanced
  2. Klik tab Network

3. Setelah itu klik tombol Settings lalu akan muncul window baru

Setelah itu pilih Manual proxy configurations lalu:

Ketikan localhost di kolom SOCKS Host 

Kemudian ketikan Port yang tadi kamu buat di server tunnel yaitu 8000

Setelah itu tekan tombol OK

Sekarang kamu bisa browsing apa saja tanpa harus di intip oleh IT Administrator kamu.

 

 

Selamat Mencoba