Permission file atau folder atau yang dikenal juga dengan chmod, adalah hak akses yang menentukan siapa saja yang dapat membaca (read), menulis (write), atau mengeksekusi (execute) file atau folder di server Anda. Dalam artikel ini, kami akan membahas bagaimana cara mengubah permission file dan folder di cPanel, baik secara manual melalui file manager maupun melalui SSH.
Sebelum kami membahas tentang cara mengubah permission file dan folder di cPanel, terlebih dahulu akan kami jelaskan tentang apa itu chmod beserta fungsinya, agar Anda lebih memahami panduan yang kami buat.
Apa itu CHMOD?
Permission file atau folder adalah pengaturan yang mengatur hak akses pengguna terhadap file atau folder di server. Dalam sistem operasi berbasis Linux, permission diwakili oleh kombinasi angka atau simbol, seperti 755 atau 644.
Angka-angka ini merepresentasikan tiga jenis akses utama:
- Read (R): Hak untuk membaca isi file atau melihat daftar isi folder.
- Write (W): Hak untuk mengubah atau menambahkan konten.
- Execute (X): Hak untuk menjalankan file.
Sedangkan tiga jenis pengguna yang diatur oleh chmod adalah:
- Owner: Pemilik file.
- Group: Grup pengguna yang memiliki akses ke file.
- Public/Other: Semua pengguna lainnya.
Sebagai contoh, permission 755 berarti pemilik file memiliki hak penuh (read, write, execute), sedangkan grup dan pengguna lainnya hanya memiliki hak read dan execute.
Selengkapnya tentang CHMOD bisa Anda pelajari pada artikel berikut: chmod adalah
Kenapa Permission File atau Folder Diperlukan?
Mengatur permission file atau folder sangat penting karena:
- Keamanan: Permission yang salah dapat membuka celah keamanan, seperti membiarkan pengguna lain mengakses atau memodifikasi file sensitif.
- Fungsi Website: Beberapa file, seperti skrip PHP atau file konfigurasi, memerlukan hak akses tertentu agar dapat berjalan dengan baik.
- Mencegah Error: Jika hak akses file tidak sesuai, situs Anda bisa mengalami error seperti 403 Forbidden atau skrip yang tidak berfungsi.
Mengubah Permission File dan Folder di cPanel
Ada 2 cara yang dapat Anda lakukan untuk mengubah permission file dan folder di cPanel, yaitu secara manual melalui file manager dan melalui SSH. Berikut opsi yang dapat Anda pilih.
Opsi 1. Melalui File Manager
Opsi ini bisa Anda pilih, jika penyesuaian permission file dan folder di cPanel tidak terlalu banyak. Langkah-langkahnya sebagai berikut:
- Login ke cPanel hosting Anda.
- Klik menu File Manager > masuk ke folder public_html atau directory yang ingin Anda ubah permissionnya.
- Klik pada file atau folder yang ingin Anda ubah permissionnya, lalu klik menu Permission yang ada di file manager, lalu ubahlah permission sesuai kebutuhan Anda. Berikut contohnya:

Jika Anda ingin mengubah permission beberapa folder atau file sekaligus dalam satu kali waktu, Anda bisa block folder atau file yang diinginkan, lalu klik menu Permissions dan ubah permissionsnya sesuai kebutuhan.
Opsi 2. Melalui SSH
Opsi ini bisa Anda pilih, jika Anda lebih nyaman menggunakan command line melalui SSH, atau perubahan permissions ingin dilakukan di semua file atau folder yang ada di directory tertentu. Berikut langkah-langkahnya:
- Login ke cPanel hosting Anda.
- Klik menu Terminal.
- Masuklah ke directory atau folder yang ingin Anda ubah. Pada contoh, saya akan masuk ke folder /public_html untuk mengubah seluruh permission folder menjadi 755 atau seluruh file menjadi 644.

Berikut adalah perintah SSH yang dapat Anda gunakan:
# Untuk mengubah permission pada folder
find . -type d -exec chmod 755 {} \;# Untuk mengubah permission pada file
find . -type f -exec chmod 644 {} \;Opsi 3. Menggunakan Scripts PHP
Apabila dari file manager terlalu merepotkan dan anda tidak mempunyai akses/fitur terminal di hosting, anda bisa memanfaatkan scripts php untuk mereset permission file/folder. Berikut ini contoh scripts php untuk mereset permission folder/file menggunakan script PHP:
<?php
/**
* Script untuk mereset permission folder (0755) dan file (0644)
* Hanya berlaku untuk folder dan file di dalam direktori tempat script ini berada (__DIR__).
* Tidak menyentuh atau mengubah folder sebelumnya (parent directory).
*
* Setara dengan:
* find . -type d -exec chmod 755 {} \;
* find . -type f -exec chmod 644 {} \;
*/
// Hilangkan batasan waktu eksekusi untuk folder dengan banyak file
@set_time_limit(0);
// Direktori acuan (hanya direktori ini dan seluruh isinya yang akan diproses)
$baseDir = __DIR__;
// Mode permission dalam format oktal (wajib diawali 0 pada PHP)
$dirPermission = 0755;
$filePermission = 0644;
$countDirs = 0;
$countFiles = 0;
$errors = [];
// Format output jika diakses melalui web browser
if (php_sapi_name() !== 'cli') {
header('Content-Type: text/plain; charset=utf-8');
}
echo "==================================================\n";
echo "RESET PERMISSION (Folder: 755 | File: 644)\n";
echo "Target Base: " . $baseDir . "\n";
echo "==================================================\n\n";
// 1. Ubah permission direktori dasar tempat script ini berada
if (@chmod($baseDir, $dirPermission)) {
echo sprintf("[DIR ] 0755 : %s\n", $baseDir);
$countDirs++;
} else {
$errors[] = "Gagal mengubah permission direktori dasar: " . $baseDir;
}
// 2. Iterasi rekursif ke seluruh subfolder dan file di dalam $baseDir
try {
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($baseDir, FilesystemIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST // Proses direktori induk terlebih dahulu sebelum sub-isinya
);
foreach ($iterator as $item) {
$path = $item->getPathname();
if ($item->isDir()) {
if (@chmod($path, $dirPermission)) {
echo sprintf("[DIR ] 0755 : %s\n", $path);
$countDirs++;
} else {
$errors[] = "Gagal mengubah folder: " . $path;
}
} elseif ($item->isFile()) {
if (@chmod($path, $filePermission)) {
echo sprintf("[FILE] 0644 : %s\n", $path);
$countFiles++;
} else {
$errors[] = "Gagal mengubah file: " . $path;
}
}
}
} catch (Exception $e) {
$errors[] = "Error iterasi: " . $e->getMessage();
}
echo "\n==================================================\n";
echo "Selesai!\n";
echo "Total Folder diubah : " . $countDirs . "\n";
echo "Total File diubah : " . $countFiles . "\n";
if (!empty($errors)) {
echo "\nCatatan / Kegagalan (" . count($errors) . "):\n";
foreach ($errors as $err) {
echo " - " . $err . "\n";
}
}
echo "==================================================\n";
Simpan file .php tersebut misalnya dengan nama reset.php lalu upload ke folder di mana ingin mereset permission folder dan file di dalamnya, lalu tinggal akses filenya, misalnya namadomain/reset.php (sesuaikan nama domain dan lokasi file scripts php ditempatkan.
FAQ
Berikut adalah beberapa pertanyaan popular tentang xxxx
Apa yang terjadi jika permission file atau folder salah diatur?
Permission yang terlalu longgar bisa membuka celah keamanan, karena pihak lain berpotensi membaca atau mengubah file sensitif di server Anda. Sebaliknya, permission yang terlalu ketat bisa membuat skrip gagal berjalan atau muncul error seperti 403 Forbidden saat website diakses.
Permission berapa yang direkomendasikan untuk folder dan file di WordPress?
Standar umum yang aman digunakan adalah 755 untuk folder dan 644 untuk file, seperti dicontohkan lewat perintah SSH maupun script PHP pada artikel ini. Kombinasi ini memberi hak akses yang cukup bagi sistem tanpa membuka celah keamanan yang tidak perlu.
Apakah mengubah permission bisa dilakukan tanpa akses SSH?
Bisa. Kalau hosting Anda tidak menyediakan akses Terminal, Anda tetap bisa mengubah permission lewat File Manager di cPanel, atau memanfaatkan script PHP seperti yang sudah dicontohkan di atas.
Apakah perubahan permission bisa membuat website error?
Bisa, kalau permission yang diberikan tidak sesuai kebutuhan file tersebut. Karena itu, sebaiknya Anda hanya mengubah permission sesuai fungsi file atau folder, bukan asal memberi akses penuh (777) hanya untuk mengatasi error sementara.
Apa beda permission 644 dan 755?
Angka 644 biasa dipakai untuk file, di mana pemilik memiliki hak read dan write, sedangkan grup dan pengguna lain hanya memiliki hak read. Angka 755 biasa dipakai untuk folder, di mana pemilik memiliki hak penuh (read, write, execute), sedangkan grup dan pengguna lain hanya memiliki hak read dan execute.
Penutup
Mengubah permission file dan folder di cPanel bisa Anda lakukan lewat tiga cara, yaitu File Manager untuk penyesuaian dalam jumlah kecil, SSH untuk perubahan massal yang lebih cepat, atau script PHP sebagai alternatif kalau hosting Anda tidak menyediakan akses Terminal. Ketiganya sama-sama efektif, tinggal disesuaikan dengan kebutuhan dan tingkat kenyamanan Anda dalam mengelola server.
Yang terpenting, selalu pastikan permission yang Anda terapkan sesuai standar aman, yaitu 755 untuk folder dan 644 untuk file, agar website tetap berjalan lancar tanpa membuka celah keamanan yang tidak perlu. Kalau Anda masih ragu menentukan permission yang tepat, tim technical support Rumahweb siap membantu memastikan pengaturan di hosting Anda tetap aman dan optimal.


