Rabu, 27 Februari 2019

Mudah Mengatur Permission di Bitnami XAMPP di GNU/Linux


Adanya XAMPP sejak awal memang diperuntukan tuk mempermudah web developer, satu aplikasi berisi semua paket yang dibutuhkan web developing, yakni Apache, MySQL/MariadDB, PHP dan Perl sesuai singkatanya XAMPP.
Sering kali saya mendapati suatu pertanyaan kepada mereka yang baru pertama kali mencoba atau migrasi sistem operasi dari Windows ke GNU/Linux, mengenai XAMPP yang terkendala pada saat proses writing, seperti halnya mengunggah berkas, tidak langsung keunggah. Atau kesulitan pada saat memasang CMS seperti WordPress.
Salah satu alasannya adalah di GNU/Linux terdapat sistem permission. Adanya permission ini, sebetulnya suatu keunggulan di GNU/Linux, denganya kita dapat mengatur berkas atau direktori mana saja yang boleh diakses bebas atau tidak. Karena kita sebelumnya di Windows terbiasa tanpa adanya permission, jadi ketika pindah akan ada sedikit masalah. Hemat saya itu hal yang sudah lumrah.
Alasan saya menulis tutorial ini adalah untuk meluruskan sedikit pandangan yang menurut hemat saya itu salah yang banyak beredar di blog. Seperti:
  1. Ketika belajar web developing, menggunakan permission 777.
    Ini adalah salah satu kesalahan yang sangat fatal, mengapa? Karena membiasakan ini, dikhawatirkan nantinya akan terbawa pada saat masuk tahap production, yang harus diunggah ke peladen (server). Jadi tetap biasakan menggunakan permissionstandarnya yakni 755 untuk direktori, 644 untuk berkas. Meskipun ada beberapa PHP fremework menyarankan beberapa direktori tertentu yang writable, perlu permission 777. Hemat saya tetaplah gunakan permission 755 pada direktori apapun yang diakses di luar. Yang terpenting adalah owner-nya sesuai dari direktori tersebut.
  2. Ketika masuk GNU/Linux, belajar web developing jangan menggunakan paket XAMPP.
    Ada benarnya, tetapi tidak 100% benar. Hemat saya menggunakan XAMPP juga bisa untuk sampai tahap production. Juga XAMPP itu diperuntukan bagi mereka yang tidak mau disibukan untuk mengurusi aplikasi. Jadi cukup gunakan XAMPP tanpa harus memasang satu-satu aplikasi terpisah (LAMP). Kelebihan LAMP ada pada kemudahan saat pembaruan (update) saja. Kita cukup perbarui menggunakan paket menejer (apt,dnfpacmanzypper, dll).
Tulisan ini mewakili kepada Anda pengguna XAMPP. Tidak mesti harus pindah ke LAMP, tetap gunakan itu yang terpenting pengaturan permission-nya benar. Berikut ini adalah cara-caranya:

change permissions for a folder and all of its subfolders and files in one step in Linux

The other answers are correct, in that chmod -R 755 will set these permissions to all files and subfolders in the tree. But why on earth would you want to? It might make sense for the directories, but why set the execute bit on all the files?
I suspect what you really want to do is set the directories to 755 and either leave the files alone or set them to 644. For this, you can use the find command. For example:
To change all the directories to 755 (drwxr-xr-x):
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
To change all the files to 644 (-rw-r--r--):
find /opt/lampp/htdocs -type f -exec chmod 644 {} \;
source : https://stackoverflow.com/questions/3740152/how-do-i-change-permissions-for-a-folder-and-all-of-its-subfolders-and-files-in

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