Hak akses file di Linux dan konfigurasinya

on Senin, 07 April 2014
GNU/Linux merupakan salah satu sistem operasi yang cukup aman (secure).
Seorang user dapat memproteksi file-filenya dan dapat menentukan user mana
saja yang dapat mengakses, membaca, dan merubah file tersebut. Saat sebuah
file dibuat dan disimpan oleh user, maka secara otomatis kepemilikannya
(owner) adalah user yang bersangkutan.
Terdapat tiga macam hak akses dari sebuah file, yaitu:
·        Read: mengizinkan user lain untuk membaca isi dari file tersebut tetapi user lain tidak dapat melakukan perubahan isi file.
·        Write: mengizinkan kepada user lain untuk dapat membaca dan melakukan perubahan terhadap isi file, termasuk menghapusnya.
·        Execute: mengizinkan user lain dapat mengeksekusi/menjalankan file (biasanya berupa script atau program).
Pemberian hak akses kepada user dapat dilakukan secara individu (one by one)
oleh pemilik file. Pemberian hak akses kepada user lain seperti di atas masih dapat dilakukan jika jumlah user masih terjangkau. Namun bagaimana halnya
jika jumlah user telah mencapai ratusan atau bahkan ribuan dalam sebuah
perusahaan. Sungguh bukan sebuah ide yang baik jika harus diberikan hak akses
satu per satu kepada user yang jumlahnya ribuan tadi. Masalah tersebut ternyata
telah terpikirkan oleh developer GNU/Linux dengan menciptakan manajemen
group yang di dalamnya dapat mencakup banyak user.
Setiap file yang ada di dalam distro linux mempunyai atribut, salah satunnya adalah hak akses, hak akses mempunyai kewenangan untuk membedakan kepemilikan (owner) dari file tersebut dalam hal membaca/mengakses file, mengubah isi file, atau mengekseskusi file. Berlaku juga untuk direktori. Selain hak akses yang dimiliki oleh sebuah file, sistem file GNU/linux juga mengenal tiga buah mode akses terhadap direktori atau file.
Adapun ketiga mode akses tersebut, yaitu:
·        Owner : hak akses user pemilik direktori atau file.
·        Group : hak akses group tempat user tersebut berada.
·        Other : hak akses setiap user selain pemilik direktori atau file.
Berikut rincian penjelasan mode akses dan hak akses terhadap sebuah file atau
direktori GNU/Linux :

Penjelasan :
• Tanda “-” pertama merupakan tipe file tersebut yang berarti file biasa.
• 3 tanda berikutnya “rw-” merupakan atribut hak akses yang dimiliki oleh owner file yang
berarti dapat membaca dan mengubah file
• 3 tanda berikutnya “r--” merupakan atribut hak akses yang dimiliki oleh group dari pemilik
file yang berarti hanya baca saja.
• 3 tanda terakhir “r--” merupakan atribut hak akses untuk other/pengguna lain yang berarti
hanya baca saja.
Hak akses terhadap file juga dapat dikonversikan ke dalam bilangan biner dan
desimal seperti yang tampak pada tabel 3.1 berikut.
Tabel 4.1 Mode Akses

Berikut aturan konversi hak akses owner, group, dan other dari huruf ke
bilangan biner dan desimal. Konversi ini nantinya akan berguna saat manajemen
user pada bab selanjutnya.

Gambar 4.2 Konversi hak akses
Berikut contoh penerapannya:
Hak Akses Nilai Arti
-rw------- 600 = Pemilik memiliki hak akses baca dan tulis, sedangkan orang lain tidak memiliki hak akses apapun. Set dengan hak akses ini supaya file anda tidak dapat dibaca orang lain, biasanya digunakan untuk file-file dokumen
-rw-r--r—644 = Pemilik memiliki hak akses baca dan tulis sedangkan orang lain hanya dapat membaca saja. Gunakan hak akses ini jika anda ingin orang lain dapat membaca file anda
-rw-rw-rw- 666 = Dengan hak akses ini, orang lain juga akan dapat membaca dan merubah file anda
-rwx------ 700 = Pemilik dapat membaca, menulis dan menjalankan file ini, hak akses ini yang biasanya digunakan untuk menjalankan program
-rwxr-xr-x 755 = Pemilik memiliki hak akses baca, tulis dan menjalankan file ini, sedangkan orang lain hanya dapat membaca dan menjalankan file tersebut
drwx------ 700 =   Hanya pemilik yang dapat mengakses, membaca dan menulis pada direktori tersebut. Setiap direktori harus memiliki hak akses x untuk dapat diakses
drwxr-xr-x 755 = Isi direktori ini hanya dapat dirubah oleh pemilik, tetapi orang lain dapat membaca isi direktori tersebut
Ø Menggunakan Perintah chmod
Untuk menggunakan chmod, perintahnya adalah:
# chmod hakakses namafile
misalnya:
# chmod 644 coba.txt
perintah tersebut akan mengubah hak akses file coba.txt menjadi seperti berikut:
-rw-r--r-- 1 postgres postgres 41527 Jul 12 2001 coba.txt
Untuk mengganti hak akses sebuah direktori beserta dengan isinya, gunakan parameter R, dengan parameter tersebut, chmod akan dijalankan secara rekursif, misalnya seluruh file yang ada pada direktori /home/user/public_html akan dirubah hak aksesnya menjadi 755, maka perintahnya adalah sebagai berikut:
# chmod R 755 /home/user/public_html
Ø Menggunakan Perintah chown
Perintah chown digunakan untuk mengganti pemilik sebuah file, perintah ini hanya dapat digunakan oleh user root. Perintah ini hanya dapat digunakan oleh user root. Perintahnya adalah sebagai berikut:
# chown namauser.namagrup namafile
misalnya:
# chown user.user coba.txt
perintah chown juga dapat digunakan dengan menggunakan parameter R, contohnya adalah sebagai berikut:
# chown R apache.apache /var/www/html
Ø Perintah chattr
Seringkali secara tidak sengaja kita menghapus atau mengedit sebuah file penting, di dalam Linux tidak ada fasilitas undelete, jadi file yang telah terhapus tidak dapat dikembalikan lagi.
Perintah (program) chattr digunakan untuk melindungi sebuah file sehingga tidak akan dapat dihapus ataupun dirubah dengan perintah apapun. Perintah chattr memberikan atribut i pada file yang dilindungi, perintahnya:
# chattr +i namafile
misal:
# chattr +i penting.txt
setelah perintah tersebut dijalankan, gunakan perintah ls - l untuk melihat hasilnya.
jika suatu ketika file ini akan diedit atau dihapus, terlebih dahulu atribut diatas harus dilepas, untuk melepasnya gunakan perintah berikut:
# chattr i namafile
Untuk lebih jelasnya, sebagai contoh kita buat sebuah file dengan menggunakan perintah nano di terminal. Contoh :
maxilian@ubuntu:~$ nano
kemudian isikan sembarang dalam file tersebut.

Kemudian simpan file tersebut dengan menekan ctrl+x dan isikan nama file. Dalam contoh saya akan menggunakan nama coba. Masih dari terminal ketikkan perintah :
maxilian@ubuntu:~$ ls -l
untuk melihat atribut dari file tersebut.

Hak akses dari sebuah file/direktori dapat juga dirubah dengan 2 cara :
1.     Menggunakan mode alphabet
chmod [ugoa] [= + -] [rwx] File(s)
chmod [ugoa] [= + -] [rwx] Dir(s)
Ket :
– u : user/pemilik
– g : group/kelompok
– o : others/lainnya
– a : all/semua
contoh :
maxilian@ubuntu:~$ chmod u+x,g+w coba

hak akses pada file coba yang semula -rw-r--r-- berubah menjadi -rwxrw-r-- karena pada hak
akses owner di tambahkan atribut eksekusi (x) dan pada group di tambahkan atribut
ubah/tulis (w).
2.     Menggunakan angka octal
r : 4
w : 2
x : 1
jika r saja maka nilainya 4
jika w saja maka nilainya 2
jika x saja maka nilainya 1
Sehingga jika file ingin dirubah atributnya menjadi rwx maka total nilainya adalah 4+2+1 = 7. begitu seterusnya apabila mengubah atribut yang lain.
Contoh :
– file coba tadi yang mempunyai atribut -rwxrw-r-- akan kita rubah menjadi -rwxrwxrwx.
Nilai atributnya menjadi 7 untuk owner, group dan others dari perhitungan rwx = 4+2+1 = 7, sehingga perintahnya menjadi : chmod 777 -R coba

Penjelasan :

Digit pertama untuk owner, digit kedua untuk group dan yang ketiga untuk others, sedangkan -R merupakan mode rekursif.

0 komentar:

Posting Komentar