Kontrol Akses File Linux

- 4 mins

Basic Linux Permission

terminal

Linux permission terdapat pada dua jenis, yaitu Permission pada File dan Permission pada Directory. Permissionnya terbagi menjadi tiga yaitu read, write dan execute.

  File Directory
Read Open List
Write Modify Create/Delete
Execute Run CD
  1. Read(r), pada sebuah file artinya yaitu membuka file atau membaca isinya. Namun pada sebuah directory ini berarti dapat melihat list file maupun folder yang terdapat pada directory tersebut.
  2. Write(w), pada sebuah file berarti memiliki izin untuk memodifikasi isi file tersebut. Lalu pada sebuah directory(folder) ini berarti dapat menghapus atau membuat suatu folder/file pada directory tersebut.
  3. Execute(x), pada sebuah file ini berarti file tersebut dapat di eksekusi atau dijalankan. Namun pada sebuah directory ini berarti kita dapat masuk ke dalam folder tersebut.

illustration

Huruf pertama menunjukan bahwa item tersebut bertipe directory(folder). Jika baris pertama menunjukan huruf - maka item tersebut merupakan sebuah file. Permission pada linux terbagi menjadi tiga bagian yang di tunjukan pada bagian merah, hijau dan biru. Permission pada bagian pertama merupakan hak akses milik user, lalu pada permission bagian kedua merupakan hak akses milik group dan permission bagian ketiga merupakan hak akses milik other.

Change Ownership

Pada setiap file maupun directory pada System Linux di asosiasikan dengan kelompok kepemilikan(ownership) dan pemilik(owner). Berikut contoh ownership pada suatu directory.

terminal

Titik yang ditunjukan oleh panah kuning merupakan user pemilik dari directory tersebut. Sedangkan titik yang ditunjukan oleh panah merah merupakan grup pemiliknya. Kita dapat mengganti kepemilikan dari file maupun directory dengan command

chown user_baru:grup_baru nama_file

Pastikan saat mengubah kepemilikan file maupun directory kita harus masuk sebagai user root terlebih dahulu. Contohnya kita akan mengubah kepemilikan ownership directory dir-a di atas dari milik user indraw dan milik group indraw menjadi milik user kali dan milik group grup-1.

terminal

Sekarang kepemilikan dir-a sudah berubah yaitu menjadi milik user kali yang sebelumnya milik user indraw dan pemilik group sudah berubah menjadi grup-1 yang sebelumnya milik dari group indraw. Perlu diketahui bahwa jika kita mengubah kepemilikan suatu directory(folder), semua isi dalam suatu folder tersebut secara default tidak ikut terubah kepemilikannya. Kita dapat menggunakan opsi -R untuk ikut mengubah kepemilikan dari seluruh isi folder yang ingin kita ubah. Contoh:

terminal

Change Permission

Kita dapat mengubah permission dari suatu file maupun directory dengan command

chmod ugo+rwx nama_file

Artinya, u untuk user, g untuk group, o untuk other. Lalu tanda + artinya menambahkan, dan dilanjutkan dengan r yaitu read, w yaitu write dan x artinya execute. Kita juga dapat menghapus persmission dengan tanda - yang merupakan kebalikan dari tanda +. Contoh: Jika kita ingin menghapus permission read user, maka kita dapat mengubahnya seperti ini.

terminal

Permission read pada user sudah berhasil di hapus. Lalu jika kita ingin menambahkan permission write pada other, kita dapat mengubahnya seperti berikut.

terminal

Jika ingin mengubah permission pada seluruh isi directorynya juga, kita dapat menggunakan opsi -R.

Change Permission with Number

Kita juga dapat mengubah permission file dengan metode angka. Setiap permission memiliki nilai angka masing masing, yaitu:

Pada directory dir-a tadi memiliki permission seperti berikut:

d -wx r-x rwx
  0+2+1 4+0+1 4+2+1

Maka total angka untuk user adalah 3, untuk group adalah 5 dan untuk other adalah 7. Angka permissionnya adalah 357. Contoh:

Jika kita ingin mengubah permissionnya menjadi user dapat semua akses, group hanya membaca dan other hanya membaca, kita dapat mengubahnya menjadi seperti berikut.

terminal

Permissionnya telah berubah menjadi:

d rwx r– r–
  4+2+1 4+0+0 4+0+0

Dengan total user 7, group 4 dan other 4.

Berikut merupakan setting yang biasa digunakan:

rss facebook twitter github mail instagram linkedin