Cara Mengatur dan Mengubah Hak Akses Kepemilikan File Linux

Saat kamu menggunakan linux, akan sangat penting kamu memahami dan bisa mengatur hal perizinan file yang ada di linux.

Linux punya peraturan yang ketat akan hak akses,jangan sampai kamu tidak bisa mengakses file menggunakan user biasa(bukan root) karena belum diatur hak aksesnya.

Hak akses suatu file bisa kamu lihat dengan mengecek attribut file tersebut menggunakan perintah linux.

Memahami  Hak Akses (Attribut file permission) dan Kepemilikan File (ownership) pada Linux

Setiap file pada linux mempunyai attribute yang menjelaskan hak akses user dan group terhadap file tersebut,yaitu  hak akses untuk owner/user(pemilik file atau yang membuat file),group (grup yang berisi user tertentu) dan other/world (semua user dan grup/umum).

Hak akses pada linux sama dengan di windows yaitu hak akses untuk Membaca (Read),Memodifikasi (Write) dan Mengeksekusi/menjalankan file aplikasi(eXecutable) atau yang lebih populer disebut R-W-X

Contoh:
Perhatikan output perintah $ ls -l /opt/vnc dibawah ini

cara membaca file permission attribute hak akses pada linux

Attribut file pada linux yang menjelaskan hak akses user terhadap file tersebut ditulis secara berurutan yaitu RWX untuk masing-masing segmen. Segmen A merupakan User/Owner permission (-RWX),segmen B merupakan Group Permission (R-X) dan segmen C merupakan Other/world Permission (R-X).

Lalu kenapa ada tanda – (minus)? tanda minus atau strip (-) merupakan indikasi kalau ada permission yang tidak diterapkan/berikan untuk user,group atau other,misalnya pada segmen B (group permission)dengan permission R-X (W nya gak ada) itu artinya user yang tergabung dalam group ‘users'[D] hanya bisa membaca(read) dan menjalankan file(executable) ”VNC-Viewer-6.0.1-Linux-x64″ dan tidak bisa mengedit,menghapus dan memodifikasi (write)

D merupakan user/owner file dan permission nya menggunakan segmen A , sedangkan E merupakan group dan permission nya menggunakan segmen B.

File Attribute dan Hak akses file/Permission Pada Linux

Pada Unix Like OS (termasuk Linux dan MacOS) setiap file mempunyai 3 attribut yang menerangkan akan hak akses ke file tersebut yaitu :

Owner Permission – Hak akses/permission terhadap pemilik/pembuat file tersebut

Group Permission -Hak akses/permission suatu group dan semua user didalam group tersebut terhadap file tersebut.

Other (World) permission – Hak akses untuk semua user yang ada di dalam sistem tersebut (baik owner,group dan user lain yang ada dalam sistem) terhadap file tersebut

Indikator Permission – Untuk melihat file permission kamu bisa menggunakan perintah $ ls -l dan hasilnya akan terlihat seperti dibawah ini :

 

file permission pada linux

Keterangan :
1.
Jumlah block yang terpakai oleh file                                             5. Jumlah Hardlink yang menuju ke file/directory tersebut
2. Jenis File(digit pertama) dan Owner Permission(digit ke 2-4)  6. File Owner (User dan Group Owner)
3. Group Permission (digit ke 5-7)                                                       7. Ukuran File
4. Other /World Permission (digit ke 8-10)
8. Nama File /Folder (Warna Biru untuk folder,putih file tanpa atribut X dan hijau untuk file dengan attribut executable-X)

Digit pertama-  merupakan attribute advanced/special permission yang bisa salah satu dari attribut dibawah ini

_ – File biasa tanpa advancedpermisison

d – Directory/folder

– Sysmbolic link dari file atau directory

s/g  – Menandakan setuid/setgid permissions. digunakan untuk menberitahu system agar file executable dijalankan menggunakan user owner /group owner permission ketika dijalankan user lain.

t – Indikasi dari sticky bit permissions. attribut ini biasanya diletakan di digit akhir (hasil tampilan ari perintah $ ls -l), attribut sticky bertujuan untuk mencegah penghapusan file oleh user lain yang mempunyai read-write access terhadap file tersebut (*file /directory)

S /T/G dengan huruf besar menandakan bahwa file tidak diberi atribut permission x sedangkan s/t dengan huruf kecil menandakan file diberi atribut permission x

Kolom pertama yang perlu diperhatikan, kolom pertama dibagi menjadi 3 seksi (nomer 2–3–4) kolom inilah yang merupakan attribut permission dari sebuah file. Setiap section terdiri dari 3 digit attribut yang bisa diisi dengan rwx

3 Permission dasar pada linux – Permission untuk Memodifikasi file(Write – W) ,Membaca file (Read- R) dan mengeksekusi/menjalankan  (execute – X) jika file tersebut berbentuk binnary,tanda – pada attribut menandakan file tersebut tidak mempunyai permission yang seharusnya ada pada kolom tersebut.Atribut permission sebuah file mempunyai urutan rwx ,jika file hanya mempunyai permission read maka menjadi r– , permission ini dibagi menjadi 3 seksi seperti yang dijelaskan sebelum nya yaitu Owner,Group dan other (world)

Cara Mengubah Hak Akses/Permission File di Linux dengan CHMOD

untuk merubah permission file atau folder di linux kamu bisa menggunakan 2 cara,yaitu memasukan atribut angka dan huruf saat menggunakan perintah chmod untuk merubah dan mengatur permission suatu file.

Perintah untuk mengatur dan merubah hak akses/permission file dan folder di linux adalah  $ sudo chmod permission
Contoh:
$ sudo chmod 755 file1  untuk mengatur attribut permission/hak akses file1 menjadi rwxr-xr-x

TIPS: Tambahkan opsi -R untuk mengatur hak akses dan kepemilikan file/folder saat kamu menggunakan perintah chmod atau chowm.
Contoh: $ sudo chmod 755 /home/arie/dokumen ,maka file dan folder yang ada di dalam directory /home/arie/dokumen akan diset atributnya menjadi 755

Menggunakan Binary References untuk merubah hak akses/permissions file linux

Cara ini merupakan cara favorit yang digunakan oleh banyak user linux karena untuk mengeset permission owner,group dan other bisa dilakukan dengan  simpel  cukup memasukan 3 digit angka kepada chmod command, setiap permission diwakili dengan angka dan setiap attribut (r/w/x) mempunyai nilai yang berbeda seperti dijabarkan dibawah ini :

Contoh : # chmod 640 dokumen1 – yang artinya mengeset attribut permission file dengan nama dokumen1 sehingga owner mempunyai permission read-write ,group mempunyai permisson read dan other tidak mempunyai permision apapun terhadap file ini.

Digit pertama mewakili permission untuk owner,digit kedua mewakili permission untuk group dan digit ketiga mewakili permission untuk other(world).Adapun nilai dari masing-masing attribut permission (rwx) adalah :

r=4  (read /dibolehkan membaca file)
w=2 (write /dibolehkan mengedit-delete file)
x=1  (executable /dibolehkan mengeksekusi file untuk file binnary)
t=1  (adalah permission untuk mengeset  sticky bit dan diletakan di digit pertama misal 1640)
s=4  (SUID attribut,agar aplikasi menggunakan user owner berikut permission nya ketika dijalankan oleh user lain)
g=2  (SGID attribut,agar aplikasi menggunakan group owner berikut permission nya ketika dijalankan oleh user lain)

untuk mengeset permission sesuai dengan yang kamu inginkan,kamu hanya perlu menjumlahkan total nilai dari permission yang ingin kamu gunakan.

contoh: file dengan nama dokumen1 ingin dirubah dengan permission -rw-r—– kamu hanya perlu memasukan 640 ke chmod command darimana asalnya angka 640?
pertama – kita bagi attribut permission diatas menjadi 3 bagian yaitu owner permision,group dan other permission seperti dibawah ini
-rw-               r–          —
0+4+2+0   4+0+0    0+0+0
kedua – kita jumlahkan nilai permission untuk setiap bagian(section)
6                     4              0
ketiga -tinggal kamu masukan ke chmod command angka 640 (# chmod 640 dokumen1)yang sama artinya dengan -rw-r—– ,read write untuk owner,read untuk group dan otheer tidak diberi permission apapun.

Menggunakan symbolik/huruf untuk merubah hak akses/permissions di linux

kamu juga bisa mengeset permission menggunakan symbol huruf ,walau caranya agak sedikit ribet karena saat pengesetan permission perlu dilakukan satu per satu baik untuk owner,group dan other.

r – Read                w – Write              x – Execute

Adapun simbol untuk mengeset permision yang kita maksud,kamu bisa  gunakan simbol:

– Owner   -> Mengeset Owner permission
g – Group    ->Mengeset Group permission
o – Others    ->Mengeset Other permission
a – All users  ->Mengeset semua permission (owner,group dan other sekaligus)

Tanda + (plus) dan  (minus) digunakan sebagai operator untuk meambahkan/mengaktifkan permission atau menghapus/mencabut permission.

Contoh – kamu ingin mengeset permission sebuah file dengan nama dokumen.doc menjadi rwxr—–yang sebelum nya beratribut rwxrw-r– ,maka kamu hanya perlu mengubah permission group dan other karena owner permission nya masih sama.
-Ubah group permision menjadi read only (r–) dengan menghapus permission write (w) menggunakan perintah # chmod g-w dokumen.doc
-Ubah other permission menjadi nothing () dengan menghapus permission read (r) menggunakan perintah # chmod o-r dokumen.doc
 gunakan tanda + jika kamu ingin menambahkan attribut dan tanda – jika ingin mencabut attribut

Ownership /Hak kepemilikan File Pada Linux

Penjelasan detail akan dibahas pada bab ini,jadi jangan melakukan quick reading agar kamu benar-benar paham karena ini sangat penting dan agak membingungkan khususnya bagi pemula.

Pada contoh diatas terlihat semua file dan folder mempunyai owner dan group owner(6) yang sama yaitu user masarie sebagai owner dan group users sebagai group owner , dari informasi kotak nomer 6 pada gambar diatas bisa kita tafsirkan sebagai berikut :

Owner permission attribute (user masarie) berada di kotak nomer yaitu pada digit 2-4 (rwx),digit pertama menerangkan jenis file (d untuk directory – untuk file biasa dan l untuk Link/shortcut)

Group permision (semua user yang berada di group users) berada di kotak nomer 3 yaitu digit ke 5-7

Permision untuk other/world berada pada 3 digit terakhir di kotak nomer ,yang artinya semua user selain user masarie dan  semua user yang tidak masuk dalam group users menggunakan permission pada kotak nomer 4 yaitu digit 8-10

Root adalah dewa(kekuatan mutlak di linux) yang bisa melakukan apapun bahkan bisa mengakses file  dengan permision 000 (———) ,jadi berhati-hatilah memberikan akses root kepada user (menggunakan sudo)

 

Cara Mengatur Kepemilikan/Ownership File dan Folder pada Linux

Secara default owner/kepemilikan dari sebuah file adalah user dan group dari pembuat file tersebut, namun adakalanya kita perlu meyesuaikan kepemilikan/ownner dari sebuah file untuk kepentingan konfigurasi lebih lanjut,misalnya sharing file dengan user lain atau saat penginstallan aplikasi /service.

sebagai contoh jika kita membuat file dengan nama jajal menggunaan user masarie (masarie berada di group users) maka hak akses/permision untuk file yang baru kita buat dengan user tersebut akan terlihat seperti dibawah ini :

[[email protected] ~]$ touch jajal
[[email protected] ~]$ ls -l jajal 
-rw-r--r-- 1 masarie users 0 Jul 11 14:25 jajal
[[email protected] ~]$

pada contoh diatas kepemilikan/owner dari file tersebut adalah user masarie (permision read-write)dan permision untuk group dan world adalah read-only (r)

Ownership/kepemilikan hanya bisa diubah oleh user root atau user yang berada di sudo list sedangkan permission hanya bisa diubah oleh owner dari file tersebut, selain owner tidak bisa merubah permission walau user lain diberi permission rwx sekalipun.

Cara Mengubah dan Mengatur Kepemilikan/Ownership File di linux

format perintah merubah hak kepemilikan/ownership :
$ sudo chown user:group namaFile
contoh:
$ sudo chown andi:users laporan.doc

 Untuk bisa merubah kepemilikan/ownership sebuah file /folder  user harus mempunyai privilage root,baik melalui sudo atau berada di group root /wheel. perintah chown digunakan untuk mengeset owner dan group owner sebuah file misalnya perintah $ sudo chown andi:users laporan.doc merubah kepemilikan/owner file laporan.doc ke user andi dan mengatur permision semua user yang ada di groups users terhadap file laporan.doc ,dan semua user yang tidak berada di grup users ataupun andi menggunakan permission other(world). Dengan kata lain hanya user andi yang bisa mengubah permission dari file tersebut,karena user andi merupakan owner dari file laporan.doc
 

Kesimpulan :

Linux meupakan sistem operasi yang mengatur privilage dengan sangat ketat,karena ketatnya privililage di linux inilah yang membuat linux sulit untuk diambil alih oleh hacker walau hacker sudah berhasil masuk ke mesin (jika dikonfigurasi dengan tepat).walau malware telah berjalan di linux karena tidak sengaja ter eksekusi ,sistem linux belum sepenuhnya terinfeksi asal yang menjalankan bukan user dengan privilage root. Akan sangat disarankan untuk tidak login root secara langsung saat menggunakan linux,gunakan sudo jika ingin mengekseskusi perintah dengan privilage root agar terhindar dari hal yang tidak diinginkan.

Root adalah privilage tertinggi pada linux,maka gunakan dan berikan ke user dengan bijak dan gunakan seperlunya,camkan peringatan yang muncul saat kamu menggunakan perintah sudo