สิทธิ์ของไฟล์กำหนดว่าใครสามารถอ่าน แก้ไข หรือเรียกใช้ไฟล์และโฟลเดอร์ในบัญชีโฮสติ้งของคุณได้ สิทธิ์ที่ถูกต้องมีความสำคัญอย่างยิ่งต่อการรักษาความปลอดภัยของเว็บไซต์และการทำงานที่ถูกต้องของทั้งบัญชี cPanel และเว็บไซต์ที่โฮสต์อยู่
บนเซิร์ฟเวอร์โฮสติ้งที่ใช้ Linux (ที่ cPanel ใช้งาน) ไฟล์และโฟลเดอร์แต่ละรายการจะมี เจ้าของ, กลุ่ม และชุดของ กฎสิทธิ์กำกับอยู่
สิทธิ์จะกำหนดว่ากระทำการใดได้บ้างสำหรับ:
ผู้ใช้ (เจ้าของ) - บัญชี cPanel ของคุณ
กลุ่ม - กลุ่มในระดับเซิร์ฟเวอร์
อื่นๆ/สาธารณะ - ทุกคนอื่นบนเซิร์ฟเวอร์
แต่ละรายการเหล่านี้สามารถมีสิทธิ์เข้าถึงไฟล์และไดเรกทอรีได้ 3 ประเภท:
Read (r) - อนุญาตให้ดูเนื้อหาไฟล์ / แสดงรายการไฟล์ในโฟลเดอร์
Write (w) - อนุญาตให้แก้ไขไฟล์ / เพิ่มหรือลบไฟล์ในโฟลเดอร์
Execute (x) - อนุญาตให้รันไฟล์ (สคริปต์, แอปพลิเคชัน) / เข้าถึง / เข้าสู่โฟลเดอร์
หมายเหตุ: โฟลเดอร์จะต้องมีสิทธิ์ Execute (x) เพื่อให้สามารถเข้าถึงได้
ระดับการเข้าถึงยังถูกกำหนดในรูปแบบ ตัวเลข:
0 - ไม่สามารถเข้าถึงไฟล์ได้
1 - เฉพาะการรันเท่านั้น
2 - เฉพาะการเขียนเท่านั้น
3 - เขียนและรัน
4 - อ่านเท่านั้น
5 - อ่านและรัน
6 - อ่านและเขียน
7 - อ่าน เขียน และรัน (สิทธิ์เต็ม)
ตัวอย่าง: ค่าที่ใช้บ่อยที่สุดคือ 755 และ 644
เจ้าของ: 7 - อ่าน เขียน รัน
กลุ่ม: 5 - อ่าน รัน
อื่นๆ: 5 - อ่าน รัน
เจ้าของ: 6 - อ่าน เขียน
กลุ่ม: 4 - อ่าน
อื่นๆ: 4 - อ่าน
เพื่อให้ไฟล์เว็บไซต์ของคุณแสดงผลได้ถูกต้องในเบราว์เซอร์ เราขอแนะนำให้ใช้สิทธิ์ดังต่อไปนี้:
ไฟล์ HTML และรูปภาพ ควรกำหนดเป็น 644 (0644) - อนุญาตให้ผู้ใช้ทุกคนอ่านไฟล์ แต่มีเพียงเจ้าของบัญชีเท่านั้นที่สามารถแก้ไขได้ โดยปกติสิทธิ์เหล่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อสร้างไฟล์
โฟลเดอร์ ควรกำหนดเป็น 755 (0755) - อนุญาตให้ผู้อื่นอ่านและเข้าถึงเนื้อหาในโฟลเดอร์ แต่มีเพียงเจ้าของบัญชีเท่านั้นที่สามารถแก้ไขได้ โดยปกติสิทธิ์เหล่านี้จะถูกกำหนดโดยอัตโนมัติเมื่อสร้างโฟลเดอร์
ไฟล์ CGI (มักอยู่ในโฟลเดอร์ cgi-bin) ควรกำหนดเป็น 755 (0755) ซึ่งอนุญาตให้ผู้อื่นอ่านและรันไฟล์ แต่มีเพียงเจ้าของบัญชีเท่านั้นที่สามารถแก้ไขได้ สิทธิ์เหล่านี้ ไม่ได้ถูกตั้งค่าโดยอัตโนมัติเสมอไป และอาจต้องปรับเอง
หมายเหตุ:
หลีกเลี่ยงการตั้งค่าสิทธิ์เป็น 777 เนื่องจากเป็นความเสี่ยงด้านความปลอดภัยอย่างร้ายแรง
การตั้งค่าสิทธิ์ไม่ถูกต้องอาจทำให้บัญชีโฮสติ้งของคุณมีความปลอดภัยลดลงอย่างมาก อนุญาตให้ผู้ที่ไม่ได้รับอนุญาตแก้ไขไฟล์ของคุณ เปิดเผยข้อมูลการตั้งค่าที่สำคัญ และเพิ่มความเสี่ยงต่อการติดมัลแวร์
ในด้านการทำงานของเว็บไซต์ การตั้งค่าสิทธิ์ไม่ถูกต้องอาจทำให้เกิดข้อผิดพลาด 500 Internal Server Error, "403 Permission denied" อัปโหลดสื่อไม่สำเร็จ ปัญหาในการติดตั้งปลั๊กอินหรือธีม ฯลฯ
สามารถเปลี่ยนแปลงสิทธิ์ได้ 3 วิธีหลัก: โดยใช้ File Manager (ใน cPanel), SSH (บรรทัดคำสั่ง) หรือ cron job (การรันคำสั่งอัตโนมัติ) แต่ละวิธีเหมาะกับสถานการณ์ที่แตกต่างกัน
File Manager
เหมาะเมื่อคุณต้องการเปลี่ยนสิทธิ์สำหรับ ไฟล์/โฟลเดอร์เพียงหนึ่งหรือไม่กี่รายการเท่านั้น
เข้าสู่ระบบบัญชี cPanel ของคุณ ไปที่ส่วน ไฟล์ และเปิดเมนู File Manager
หรือจาก Hosting Manager ให้คลิก จัดการ ถัดจากแผนโฮสติ้ง ไปที่ ไฟล์และที่เก็บข้อมูล แล้วกด จัดการไฟล์ ใกล้ชื่อเว็บไซต์ คุณจะถูกนำไปยังโฟลเดอร์รากของโดเมนใน File Manager
คุณจะเห็นสิทธิ์ปัจจุบันในคอลัมน์ด้านขวาที่ชื่อว่า Permissions:

หากต้องการแก้ไขสิทธิ์ปัจจุบันสำหรับไฟล์/โฟลเดอร์ใด ๆ ให้คลิก หนึ่งครั้ง ที่สิทธิ์ของไฟล์ กำหนดตัวเลขที่ต้องการ แล้วกด บันทึก (หรือ Enter):

นอกจากนี้ยังสามารถเปลี่ยนสิทธิ์ได้โดย คลิกขวา ที่ไฟล์/โฟลเดอร์แล้วเลือกตัวเลือก เปลี่ยนสิทธิ์ หน้าต่างที่เกี่ยวข้องจะปรากฏขึ้น:

ปรับ ช่องทำเครื่องหมายแล้วคลิก เปลี่ยนสิทธิ์ เพื่อบันทึก
เคล็ดลับ: ตารางการตั้งค่าเดียวกันจะเปิดขึ้นเมื่อใช้เมนูแถบด้านบนของ File Manager ตัวเลือก Permissions:

SSH command line
SSH ช่วยให้คุณเปลี่ยนสิทธิ์โดยใช้ chmod คำสั่ง วิธีนี้เหมาะเมื่อคุณต้องการเปลี่ยนสิทธิ์สำหรับ ไฟล์จำนวนมาก
เข้าสู่บัญชีโฮสติ้งของคุณ ผ่าน SSH
จากนั้นไปยังไดเรกทอรีรากของโดเมนของคุณโดยใช้คำสั่งต่อไปนี้:cd /home/username/root_folder
หมายเหตุ: อย่าลืมแทนที่ username ด้วยชื่อผู้ใช้ cPanel จริงของคุณ และ root_folder ด้วยชื่อไดเรกทอรีที่ถูกต้องสำหรับโดเมนของคุณ:

รันคำสั่งด้านล่างเพื่อกำหนดสิทธิ์ไดเรกทอรีเป็น 0755 และสิทธิ์ไฟล์เป็น 0644:find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;
หลังจากรันคำสั่ง รายชื่อไฟล์และโฟลเดอร์ที่มีการอัปเดตสิทธิ์จะแสดงขึ้น:

Cron Jobs
Cron job ช่วยให้คุณตั้งเวลาคำสั่ง (เช่น chmod) ให้รันโดยอัตโนมัติในช่วงเวลาที่กำหนด
ใน cPanel ของคุณ ไปที่เมนู Cron Jobs:

ในส่วน เพิ่ม Cron Job ใหม่ ตั้งค่า การตั้งค่าทั่วไป เป็น หนึ่งครั้งต่อห้านาที และเพิ่มสคริปต์ต่อไปนี้ในบรรทัด คำสั่ง :cd /home/username/root_folder && find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;
หมายเหตุ 1: อย่าลืมแทนที่ username ด้วยชื่อผู้ใช้ cPanel จริงของคุณ และ root_folder ด้วยชื่อไดเรกทอรีที่ถูกต้องสำหรับโดเมนของคุณ
หมายเหตุ 2: สคริปต์ต้อง ไม่ ถูกรันในไดเรกทอรีหลัก (เช่น /home/username) ไดเรกทอรีหลักมีโฟลเดอร์ระบบและโฟลเดอร์เฉพาะบัญชีที่ต้องการสิทธิ์แบบกำหนดเองเพื่อให้ cPanel ทำงานได้อย่างถูกต้อง การเปลี่ยนสิทธิ์เหล่านั้นเป็นค่าเริ่มต้น (0755/0644) อาจทำให้เกิดปัญหาด้านความปลอดภัย ขัดแย้งกับบริการ หรือทำให้แผงควบคุมทำงานผิดปกติ ซึ่งสามารถแก้ไขได้โดยการกู้คืนข้อมูลสำรอง cPanel แบบเต็มเท่านั้น

รัน cron job แล้ว รอสูงสุด 5 นาที เพื่อให้สคริปต์ดำเนินการเปลี่ยนแปลง หลังจากนั้นจำเป็นต้องลบออก:

หากคุณไม่แน่ใจเกี่ยวกับการตั้งค่าสิทธิ์ที่ถูกต้อง ควรเปลี่ยนแปลงให้น้อยที่สุดหรือ ติดต่อฝ่ายสนับสนุน เพื่อป้องกันความเสี่ยงด้านความปลอดภัยหรือการหยุดชะงักของบริการ