Rabu, 04 April 2012

Hak Akses/Perijinan File di Linux

Tulisan tentang hak akses/perijinan file di LINUX ini sebenarnya sudah banyak beredar di internet. Tapi saya menulisnya lagi demi pemahaman saya sendiri atas konsep yang sangat penting tersebut dengan harapan semoga Anda bisa juga mendapatkan tujuan pemahaman yang sama dengan saya, selaku seorang pemula di lingkungan yang asing ini.
Berikut bagian-bagian yang terdapat pada tulisan ini:

  1. Pengantar
  2. Merubah Hak Akses Sebuah File
    • Perintah chmod “Numeric Mode”
    • Perintah chmod “Symbolic Mode”
  3. Mengubah Kepemilikan File
  4. Mengubah Group Pemilik File

Pengantar

Pada Sistem Operasi Linux semua file memiliki hak aksesnya masing-masing. Hak akses tersebut terdiri atas tiga bagian:
  1. r untuk read (membaca)
  2. w untuk write (menulis)
  3. x untuk execute (menjalankan)
Untuk melakukan check terhadap hak akses suatu file bisa dilakukan dengan menjalankan perintah ls -la pada sebuah shell atau konsol. Berikut salah satu contoh pada saat saya menjalankan perintah ini di dalam folder /home/
# ls -l
drwxrwxrwx 3 root users 4096 1996-02-02 10:59 allusers
drwxr-xr-x 14 gagoyiku gagoyiku 4096 1996-02-02 08:36 gagoyiku
drwxrwxr-x 2 root users 4096 1996-02-02 08:37 windowshare

Berikut adalah penjelasan kolom-kolom yang saya anggap paling penting untuk diketahui artinya.
  1. Kolom pertama pada hasil diatas adalah yang menggambarkan perijinannya, terdiri atas 10 karakter.
    • Karakter pertama akan menunjukkan apakah objek tersebut adalah sebuah direktori (d), file (-), atau sebuah link ( l ) yang merujuk kepada direktory atau file lainnya
    • 3 karakter selanjutnya akan memperlihatkan ijin untuk membaca, menulis dan menjalankan objek dimaksud, bagi si pemilik objek
    • 3 karakter selanjutnya akan memperlihatkan ijin untuk group pengguna yang mengatur objek
    • 3 karakter selanjutnya akan memperlihatkan ijin untuk pengguna yang lain
  2. Kolom ke tiga akan menunjukkan pemilik objek
  3. Kolom ke empat akan menunjukkan group pengguna pemilik objek tersebut
  4. Kolom terakhir menunjukkan nama dari objek di system
Dari hasil jalannya perintah sebelumnya, bisa kita baca bahwa pemilik dari direktori windowshare adalah root dan group pengguna yang memiliki direktori tersebut adalah group users yang memiliki hak untuk baca, menulis dan menjalankan berbagai macam operasi di folder tersebut; sedangkan pengguna lainnya yang tidak termasuk root dan anggota group users hanya bisa membaca dan menjalankan file (read only).
Namun yang harus kita ingat bahwa user root memiliki kemampuan untuk melakukan apa saja terhadap hak akses tersebut.
Sebagai sebuah persetujuan awal, apabila saya mempergunakan kata file, maka ini bisa merujuk pada file data atau folder.

Merubah Hak Akses Suatu File

Perintah chmod “Numeric Mode”

Perintah ini akan merubah perijinan suatu file/direktori menggunakan kode akses berupa 3 digit nomor tertentu, yang merupakan perwujudan dari hak akses suatu file di Linux. Masing-masing kode tersebut adalah 4 untuk membaca (read), 2 untuk menulis, dan yang terakhir adalah 1 untuk menjalankan sebuah file.
Sebagai contoh, kita ingin sebuah file hanya bisa untuk di baca (4) dan di tulis (2) tapi tidak untuk di jalankan, maka kita bisa mempergunakan perintah 4+2 = 6. Menggunakan cara yang sama apabila kita ingin memberikan hak akses hanya untuk membaca (4), dan memberikan semua hak akses yang ada (7 = 1+2+4).
Lalu kode akses tersebut di kombinasikan berdasarkan urutan ~ hak akses untuk pemilik, group pemilik dan pengguna lain ~ hak kepemilikan sebuah file, dengan sintak perintahnya adalah:

chmod <3 digit nomor> <objek yang ingin di set>

Sebagai contoh berdasarkan perintah ls -l sebelumnya, kita akan melakukan setting agar folder windowshare bisa di pergunakan oleh semua pengguna agar bisa menulis, membaca, dan menjalankan file di folder tersebut, maka kita mempergunakan perintah:
# chmod 777 /home/windowshare
Sehingga bila kita perlihatkan lagi hak akses menggunakan perintah ls -l, akan kita dapatkan hasil seperti berikut:
# ls -l
<< any results >>
drwxrwxrwx 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>

Perhatikan sekarang kode akses yang menjadi drwxrwxrwx, dari yang semulanya drwxrwxr-x.
Namun apabila kita menginginkan hanya si pemilik file saja yang memiliki hak akses dan yang lainnya (bahkan group pemiliknya) hanya memiliki akses membaca saja (read only), kita bisa menggunakan perintah:
# chmod 744 /home/windowshare
# ls -l
<< any results >>
drwxr-xr-x 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>

Atau kalau si pemilik saja yang memiliki hak akses, maka kita bisa menjalankan perintah:
# chmod 700 /home/windowshare
# ls -l
<< any results >>
drwx------ 2 root users 4096 1996-02-02 08:37 windowshare
<< any results >>

Apabila kita ingin mengubah hak akses di folder beserta semua isinya, maka dibutuhkan tambahan perintah berupa tanda -R (recursive). Sehingga bila kita ingin mengubah hak akses di folder /home/windowshare beserta isinya, kita tinggal menjalankan perintah:
# chmod -R 700 /home/windowshare

Perintah chmod “Symbolic Mode”

Kalau pada Numeric Mode menggunakan angka-angka, maka pada symbolic mode mempergunakan huruf yang bisa dikombinasikan. Alhasil perintahnya lebih mudah untuk dimengerti. Berikut sintak penulisannya:
chmod [flags] [u/g/o/a] [+/-/=] [r/w/x]
Kombinasi [u/g/o/a] digunakan untuk mengatur hak akses pengguna, yaitu u (pengguna yang memilikinya), g (group yang memilikinya), o (other/pengguna lain yang bukan termasuk dalam group pemiliknya), atau a (all – semua pengguna). Operator untuk + (melakukan setting/menambah), – (mengurangi hak akses) dan = (set hak akses) harus dikombinasikan dengan perintah pilihan selanjutnya yaitu r (read – membaca), w (write – menulis) dan x (execute – menjalankan) sebuah file.
Sebagai contoh kita dasarkan pada contoh sebelumnya. Misalkan kita ingin agar folder windowshare hanya bisa dipergunakan oleh pemiliknya saja:
#chmod u+rwx,og-rwx /home/windowshare
Atau kita ingin agar semua orang hanya memiliki hak akses untuk membaca saja (read only)
#chmod a+rx-w /home/windowshare
Kita juga bisa memberikan setting hak akses sekaligus untuk isi folder tersebut (recursive)
#chmod -R a+rx-w /home/windowshare

Mengubah Kepemilikan File

Untuk mengubah kepemilikan sebuah file kita bisa mempergunakan perintah chown yang memiliki format yang sama dengan perintah chmod. Bedanya yang kita ubah adalah kepemilikan sebuah file. Sintak yang digunakan adalah:
chown <users> <objek yang ingin diubah>
Misalnya kita ingin mengubah kepemilikan folder windowshare diatas, dari root kepada user dengan login linuz, maka kita tinggal melakukan perintah:
# chown linuz /home/windowshare

Mengubah Group Pemilik File

Untuk mengubah group pemilik sebuah file kita bisa mempergunakan perintah chgrp yang juga memiliki format yang sama dengan perintah chown. Bedanya yang kita ubah adalah group pemiliknya. Misalkan kita ingin mengubah group pemilik folder windowshare diatas, dari users kepada group linuzgroup, kita tinggal melakukan perintah:
#chgrp linuzgroup /home/windowshare

Tidak ada komentar:

Posting Komentar