การตั้งค่า Permission หรือ การ CHMOD ไฟล์ หรือ โฟลเดอร์ ของเว็บไซต์
ที่ใช้บริการ พื้นที่ฝากไฟล์ หรือ โฮสติ้ง บนระบบปฎิบัติการ Linux นั้น จะมีวิธีการ ป้องกัน การเข้าถึง การอ่าน เขียนไฟล์ และโฟลเดอร์ ด้วยวิธีการที่เรียกว่า การตั้งค่า Permission หรือเรียกอีกอย่างว่า CHMOD โดยมีการกำหนด ค่าและ กลุ่ม ผู้ใช้ที่แตกตากกัน
กล่าว คือ การตั้งค่า Permission เป็นการตั้งค่า สิทธิความสามารถ ของผู้ใช้ ในการอ่าน เขียน และความสามารถในการเข้าถึงไฟล์ และ โฟลเดอร์ใดๆ ของเว็บไซต์นั้นเอง
วิธีการตั้งค่า
ผู้เป็นเจ้าของเว็บไซต์ สามารถตั้งค่า Permission ได้จากโปรแกรม อับโหลดไฟล์ ต่างๆ อธิเช่น CuteFTP, FileZilla , WS FTP และอื่นๆ ซึ่งโปรแกรมเหล่านี้มักจะมีฟังก์ชั่น รองรับการทำงานในส่วนนี้อยู่แล้ว
และ ยังสามารถตั้งค่า Permission ผ่านระบบจัดการไฟล์ ผ่านเว็บ หรือ File Manager ของระบบจัดการเว็บไซต์ (Web Control Panel) ได้อีกด้วย
โดยมีข้อกำหนดต่างๆ แบ่งเป็นตัวเลข 3 หลัก เช่น 644, 755, 777 ซึ่งมีความหมายดังนี้
Read คือ สิทธิ การอ่าน File หรือ Directory
Write คือ สิทธิ การเขียน File หรือ Directory
Execute คือ สิทธิ การสั่งให้ทำงาน
เลขในหลักแรก เจ้าของ Files / Directory (Owner)
เลขในหลักที่สอง ผู้ใช้กลุ่มเดียวกับเจ้าของ Files / Directory (Group)
เลขในหลักที่สาม ผู้ใช้อื่น ๆ (Others / Puplic)
โดยหมายเลขแต่ละหลักจะมี (0 1 2 3) 4 5 6 7 ซึ่งความหมายคล้าวๆ ดังนี้
4 หมายถึง ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียว ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 หมายถึง ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้น เพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 หมายถึง ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)
เพื่อความเข้าใจง่ายขึ้น ผมจะยกตัวอย่างอธิบาย ตัวเลขการตั้งค่าง่ายๆ ที่เราเห็นกันบ่อยๆ คือ
644 หมายถึง เจ้าของอ่านและเขียนได้ แต่คนอื่นทั่วไปอ่านได้อย่างเดียว
755 หมายถึง เจ้าของอ่าน เขียน และประมวลผลได้ แต่คนอื่นสามารถอ่านและทำการประมวลผลได้เท่านั้น
777 หมายถึง ทุกคนสามารถ อ่าน เขียน และประมวลผลได้
ซึ่งค่าเหล่านี้ ควรมีการตั้งค่า และเลือกใช้ให้ถูกต้องเพื่อ ความปลอดภัย ของระบบเว็บไซต์ ของผู้จัดทำเว็บไซต์ โดยเฉพาะอย่างยิ่ง สคิบสำเร็จรูป หรือ Open Source ต่างๆ ควรมีการตั้งค่า ที่ถูกต้องนี้ด้วยนะครับ
*** ไม่ควรตั้งค่า ไฟล์ทุกไฟล์เป็น 777 แต่ควรตั้งค่าเฉพาะที่ต้องการให้ไฟล์ นั้น สามารถให้เว็บสคิบ อื่นสามารถทำการเขียน แก้ไข ไฟล์นั้นได้
*** ค่าโดยปกติ คือ 644 คือสามารถให้สคิบ ทำการอ่านไฟล์ นั้นขึ้นมาแสดงผลได้ แต่ไม่สามารถเขียน แก้ไขไฟล์นั้นได้ๆ
PHP ERROR Code กรณีเกิดจากการที่ไฟล์สคิบไม่สามารถ เขียน อ่านไฟล์
อันเนื่องจากการตั้งค่า Permission ไม่ถูกต้อง เช่น
- Forbidden You don't have permission to access
- Warning: fopen(file) [function.fopen]: failed to open stream: Permission denied