Mengubah Permission File & Folder Secara Massal pada Linux

Kategori: Linux

Hari ini ada hal penting yang baru saya sadari ketika membuka file aplikasi lama yang sudah online, yaitu seputar permission file dan folder.

Saya agak kaget mengetahui semua file dan folder aplikasi yang sudah saya upload memiliki permission 777. Hal ini terjadi karena sewaktu membuatnya di localhost semua file dan folder saya set 777 dan lupa untuk menggantinya kembali.

Permission 777 sangat berbahaya karena semua user baik owner, group dan other/everyone dapat membaca, menulis dan mengeksekusi file dan folder tersebut.

Celah ini bisa dimanfaatkan oleh orang yang tidak bertanggung jawab untuk masuk dan bahkan merusak aplikasi/website/sistem yang kita buat.

Untuk mencegah hal-hal yang tidak diinginkan, saya mengubah semua permission file dan folder tersebut menjadi 755 untuk folder dan 644 untuk file.

Untuk mengubah permission file dan folder tersebut saya menggunakan fitur file manager dari cPanel. Namun karena cukup merepotkan dan membutuhkan waktu lama karena harus manual, akhirnya saya mengubahnya secara massal melalui terminal dengan akses SSH.

Setelah saya mengubah file yang sudah online, saya juga mengubah file yang masih di localhost. Saya menggunakan sistem operasi Linux Mint dengan base Ubuntu 16.04 LTS.

Untuk mengubah permission ini saya juga memanfaatkan perintah/command line terminal.

Nah, bagi Anda yang ingin melakukan hal yang sama namun belum kenal dengan perintah Linux, silakan simak terlebih dahulu Daftar Perintah Dasar Linux yang Sering Digunakan.

Jika sudah, lanjut ke tutorial berikut.

  • Buka terminal lalu gunakan perintah cd untuk masuk ke dalam folder yang isinya ingin diubah permissionnya. Misalnya siakad.
  • Kemudian tampilkan isi folder siakad beserta permissionnya dengan menuliskan perintah ls -l.
  • Untuk mengubah permission "semua folder" yang ada dalam folder siakad tadi (sub folder), tulis perintah di bawah ini lalu tekan enter. Silakan masukkan password user Administrator Anda.
sudo find * -type d -print0 | xargs -0 chmod 0755
  • Sedangkan untuk mengubah permission "semua file" yang ada dalam folder siakad, gunakan perintah di bawah ini.
sudo find . -type f -print0 | xargs -0 chmod 0644
  • Lalu lihat apakah permission file dan folder sudah berubah atau belum dengan menuliskan perintah ls -l lalu enter.

Perhatikan kedua perintah di atas, huruf d menunjukkan direktori/folder dan huruf f menunjukkan file. Sedangkan angka 0755 dan 0644 menunjukkan permission yang digunakan.

Untuk memahami hak akses pada Linux, silakan perhatikan gambar di bawah ini.

Berikut penjelasan tentang permission yang ditulis dalam bilangan oktal.

7 = 4+2+1 - read, write, execute
6 = 4+2 - read write
5 = 4+1 - read execute
4 - read
3 = 2 + 1 write, execute
2 - write
1 - execute

Demikianlah cerita singkat saya, semoga bermanfaat dan dapat menambah wawasan kita. Salam.

Referensi: https://stackoverflow.com/questions/18817744/change-all-files-and-folders-permissions-of-a-directory-to-644-755

Diposting pada Jan 22, 2018

Komentar