Selasa, 19 Februari 2019

Mengubah Permission File & Folder di Linux Secara Massal

Ada hal penting yang baru saya sadari ketika membuka file aplikasi lama yang sudah online. Saya cukup 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 permissionnya menjadi 777 dan lupa untuk mengembalikannya seperti semula.
Permission 777 berbahaya karena semua user baik ownergroup 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 yang kita buat.
Untuk mencegah hal-hal yang tidak diinginkan, saya mengubah semua permission file dan folder tersebut menjadi 755 untuk folder dan 644untuk file.
Untuk mengubah permission file dan folder tersebut saya memanfaatkan fitur "Change permissions" file manager dari cPanel. Namun karena cukup merepotkan dan membutuhkan waktu lama, akhirnya saya mengubahnya secara massal melalui terminal dengan akses SSH.
Setelah mengubah file yang sudah online, saya juga mengubah file yang masih ada di localhost. Untuk mengubah permission ini saya juga memanfaatkan perintah/command line di terminal.
Nah, bagi kamu yang ingin melakukan hal yang sama namun belum kenal dengan perintah-perintah yang ada di Linux, silakan simak terlebih dahulu 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 simpeg.
  • Kemudian tampilkan isi folder simpeg beserta permissionnya dengan menuliskan perintah ls -l.
  • Untuk mengubah permission "semua folder" yang ada dalam folder simpeg tadi, ketikan perintah di bawah ini lalu tekan enter.
sudo find * -type d -print0 | xargs -0 chmod 0755
  • Jika muncul permintaan password, isi dengan password yang kamu gunakan.
  • Sedangkan untuk mengubah permission "semua file" yang ada dalam folder simpeg, 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 0644menunjukkan permission yang digunakan.
Untuk memahami hak akses pada Linux, silakan perhatikan gambar di bawah ini

Berikut penjelasan singkat mengenai permission file dan folder di Linux 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
Referensi:
- https://stackoverflow.com/questions/18817744/change-all-files-and-folders-permissions-of-a-directory-to-644-755

Tidak ada komentar:

Posting Komentar