Best practice mengatur permission direktori root web konten di Linux

Bagaimana cara terbaik memberikan hak akses pada direktori web root di Linux? Meskipun sebenarnya secara basic sama saja, tapi ternyata ada cara yang lebih spesial untuk menyeting direktori yang khusus untuk web konten ini.

Biasanya mungkin kita bisa langsung memberikan akses dengan #chmod 777 nama_direktori, ya bisa juga langsung berhasil sih, bisa juga gagal. Namun, berhasil atau tidak, coba kita bahas bersama bagaimana sebenarnya cara yang terbaik untuk mengatur permission di direktori root ini.

Pada umumnya, ketika kita bahas web server Linux berarti disitu ada multiple user dan group, karena boleh jadi ada banyak konten web yang tersimpan di direktori rootnya.

Sebenarnya kita bisa memberikan akses atau permission tersebut pada group tertentu, kemudian baru mengatur user yang diinginkan untuk masuk ke group.

Hal semacam ini akan lebih efisien karena kedepan kita jika ada user baru tinggal memasukannya ke group tersebut. Sebenarnya kebanyakan dari Distro yang beredar pun juga sudah memfasilitasi hal semacam ini.

Misalnya, biasanya default group untuk direktori root di Ubuntu dan Debian based adalah www-data. Dengan demikian kita cukup memberikian akses untuk folder var/www/ kepada group www-data. Nah, lalu kita tinggal memasukan user kita ke dalam group www-data tersebut.

Untuk menambahkan user ke group caranya adalah dengan:

sudo usermod -a -G www-data 

kemudian, kita set permission untuk direktori rootnya, katakanlah /var/www/

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Sebagai tambahan, kita bisa membuat direktori dan semua direktori dibawhanya otomatis owned by www-data, sehingga kedepan kita tidak perlu repot-repot mengubah pengaturanya lagi.

sudo find /var/www -type d -exec chmod 2775 {} \;   

Cari dan set semua file di /var/www dan tambahakn permission read and write untuk owner dan group:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Nah, sudah. Jika belum bisa berfungsi kalau kita mengubah permission untuk user kita sendiri, bisa dicoba dengan logout dan login ulang untuk memperbarui session aktif.

Sutriman

Halo, saya adalah seorang praktisi IT yang sehari-hari bekerja sebagai Software Engineer yang menggunakan Linux sebagai daily OS. Nulis juga di blog pribadi kalau lagi engga males :D