Rabu, 28 Agustus 2019

Hak Akses File / Folder pada Linux

Hak Akses File / Folder pada Linux

Pada dasarnya, setiap file dapat diakses oleh 3 jenis pengguna yaitu:
TypeExplanation
ownerPengguna yang membuat dan memiliki file / direktori.
groupSemua pengguna yang merupakan anggota dalam grup yang sama.
othersSemua pengguna lainnya dalam sistem yang bukan owner atau member dari sebuah grup.
Perintah ls -l, bisa digunakan untuk melihat permission pada file dan ownernya.
Sebagai contoh, ls -l file1.txt akan menampilkan:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
  • “-rwxr–rw-“ – Bagian ini akan menampilkan permission. Ada 3 huruf yang mungkin akan sering Anda lihat: r, w, x, d.
    d artinya tipe file adalah direktori (folder). 
  • Dalam contoh kita tersebut, huruf d tidak ada (seharusnya berada di urutan pertama, namun pada contoh tidak ada/diwakili oleh simbol “-” yang artinya “tidak”). 
  • Huruf r artinya adalah read. Jika kita memiliki permission untuk membacara, kita bisa membaca isi dari file, namun hanya itu saja. Kita tidak bisa meng-edit atau mengeksekusi file tersebut.
  • Huruf w artinya permision untuk menulis file/folder (edit, hapus, dll). 
  • Huruf x artinya permission untuk mengeksekusi file/folder (kita sering membutuhkan permission ini untuk masuk ke dalam folder).
  • 1 – Jumlah hard links. Biasanya hard link merupakan nama tambahan untuk sebuah file.
  • user user – Menampilkan pemilik (owner) dan group owner dari file.
  • 0 – Menampilkan ukuran file.
  • Jan 19 12:59 – Menampilkan kapan terakhir kali file dimodifikasi.
  • file1.txt – Nama file/folder

Kembali ke perintah chmod. Perintah ini akan memungkinkan kita untuk menggati permission dari file/folder. Kita akan belajar bagaimana cara melakukannya hanya dengan menyertakan nomor-nomor secara bersamaan. Setiap tipe permission memiliki nomornya masing-masing:
  • r (read) – 4
  • w (write) – 2
  • x (execute) – 1
Jadi, contohnya, jika Anda ingin mengatur permission file1.txt menjadi:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

Maka perintah yang kita gunakan adalah:
chmod 746 file1.txt

Pada dasarnya, setiap nomor dalam perintah ini merepresentasikan permission untuk salah satu tipe user (owner, group owner, dll).
Jadi, angka pertama adalah 7. Berdasarkan penjelasan arti angka di atas, satu-satunya cara kita bisa mendapatkan angka 7 adalah dengan menambahkan angka 4, 2 dan 1, bentuknya: 4+2+1=7. Artinya SEMUA permission (read, write dan execute – rwx).

Angka ke-1  ini akan membuat permission untuk owner dari file tersebut.
Angka ke-2 adalah 4. Artinya adalah permission r (read), angka ini memberikan permission ke group owner.
Angka ke-3 adalah 6, berdasarkan arti angka di atas, cara mendapatkan angka ini adalah dengan menambahkan 4 dan 2, jadinya 4+2=6. Sehingga kita memberikan others sebuah permission untuk read (4) dan write (2) pada file.
Bagian ke-3 pada perintah (file1.txt) adalah nama file, kita tulis nama file yang ingin kita atur permissionnya.
Contoh lainnnya: chmod 777 file2. txt, perinta ini akan memberikan SEMUA permission ke semua jenis user (owner, group dan other).
Berikut ini adalah list yang paling sering digunakan untuk file:
ValueNumeric ValueExplanation
-rw——-600Pemilik bisa membaca dan menulis.
-rw-r–r–644Pemilik bisa membaca dan menulis, group dan orang lain bisa membaca.
-rw-rw-rw-666Pemilik, kelompok dan others bisa membaca dan menulis.
-rwx——700Pemilik bisa membaca, menulis dan mengeksekusi, group dan yang lainnya tidak bisa melakukan apapun dengan file tersebut.
-rwx–x–x711Pemilik bisa membaca, menulis dan mengeksekusi, kelompok dan orang lain bisa mengeksekusi.
-rwxr-xr-x755Pemilik bisa membaca, menulis dan mengeksekusi, kelompok dan orang lain bisa membaca dan mengeksekusi.
-rwxrwxrwx777Pemilik, kelompok dan orang lain bisa membaca, menulis dan melaksanakan.
Permission yang umum digunakan untuk direktori:
ValueNumeric ValueExplanation
drwx——700Hanya pemilik yang bisa membaca dan menulis di direktori ini.
drwxr-xr-x755Pemilik, kelompok dan lain-lain bisa membaca direktori, tapi pemiliknya hanya bisa mengubah isinya.