Kotchasan PHP Framework

เทคนิคการปรับ chmod ให้เป็น 777 หรือ ปรับ chmod ให้สามารถเขียนได้

ในการติดตั้งโปรแกรม เรามักจะเจอกับเรื่องหนึ่งในขั้นตอนการติดตั้งอยู่เสมอ คือการปรับ chmod ซึ่งมักจะบอกไว้ว่า "ปรับ chmod ให้เป็น 777" หรือ "ปรับ chmod ให้สามารถเขียนได้" (หรืออะไรทำนองนี้)

สิ่งที่เราได้ยินกันบ่อยๆ และมักจะถูกสอนต่อๆกันมาว่า เราไม่ควรปรับ chmod ให้เป็น 777 แล้วจริงๆมันคืออะไร หรือเราจะต้องปรับให้เป็นอะไรกันแน่

สำหรับใครที่สงสัยว่า chmod คืออะไร อ่านบทความนี้เลยครับ chmod 777 คืออะไร ทำไมต้อง chmod และมันไม่ปลอดภัยจริงหรือ
ถ้าได้อ่านบทความข้างต้นจะเห็นว่า บทความบอกว่า chmod ของไดเร็คทอรี่ ควรเป็น 644 และ chmod ของไฟล์ควรเป็น 755
วิธีการปรับ chmod พื้นฐานเรามักทำผ่านโปรแกรม FTP เช่น FileZilla ด้วยการคลิกขวาที่ไฟล์หรือไดเร็คทอรี่ที่ต้องการปรับ แล้วเลือก "สิทธิการเข้าถึงไฟล์" จะได้หน้าต่างดังรูป (ตัวอย่างนี้ เป็นการคลิกขวาที่ไดเร็คทอรี่ datas/)
เรื่องโชคร้ายคือการปรับ chmod เป็นค่าอื่นที่ไม่ใช่ 777 จะยังไม่สามารถทำให้โปรแกรมสามารถสร้างไดเร็คทอรี่หรือเขียนไฟล์ได้ ทำให้เหมือนกับว่าเราถูกบังคับให้ต้องปรับ chmod ให้เป็น 777 เพียงอย่างเดียวเท่านั้น เราจะมาว่ากันถึงเทคนิคการแก้ปัญหานี้ในแบบของผมกัน (เทคนิคนี้สามารถใช้ได้กับตัวติดตั้งของ GCMS และตัวติดตั้งของ Kotchasan และยังสามารถใช้งานได้กับ CMS ส่วนใหญ่ ที่ตัวติดตั้งสร้างไดเร็คทอรี่ที่จำเป็นให้) ซึ่งผมจะยกตัวอย่างการติดตั้งของ Kotchasan และ GCMS เป็นหลักนะครับ
        
  • ก่อนอื่น เราต้องพิจารณาก่อนว่าตัวติดตั้งจะสร้างไฟล์หรือไดเร็คทอรี่อะไร ให้เราปรับ chmod ให้กับไดเร็คทอรี่ที่ไฟล์หรือไดเร็คทอรี่นั้นอยู่แทน เช่น โปรแกรมต้องการสร้างไดเร็คทอรี่ datas/ (สมมุติ path ของ datas/ คือ public_html/datas/) ก็ให้เราเปลี่ยนไปปรับ chmod ให้ไดเร็คทอรี่ public_html/ แทนการสร้างไดเร็คทอรี่ datas/ (และปรับ chmod/ ให้เป็น 777) แต่ก่อนจะทำการปรับ chmod ให้กับ public_html/ ให้จดบันทึก chmod ของ public_html/ ปัจจุบันไว้ก่อน เพื่อปรับกลับหลังจากการติดตั้งเสร็จเรียบร้อยแล้ว
  •     
  • หลังจากการปรับ chmod ให้กับไดเร็คทอรี่ public_html/ แล้วให้ดำเนินการติดตั้งต่อไปตามปกติจนกว่าจะเสร็จ (เนื่องจากไดเร็คทอรี่ public_html/ สามารถเขียนได้แล้ว ทำให้ตัวติดตั้งสามารถสร้างไดเร็คทอรี่ datas/ และ ไฟล์หรือไดเร็คทอรี่อื่นๆ ในนั้นได้)
  •     
  • เมื่อเสร็จสิ้นการติดตั้ง ให้ปรับ chmod ให้ public_html/ กลับไปเป็นอย่างเดิมด้วย ห้ามลืมเด็ดขาด (ในกรณีที่จำไม่ได้ สามารถปรับ chmod ให้เป็น 644 ตามค่าที่แนะนำได้)
หมายเหตุตัวติดตั้งของ GCMS และ Kotchasan ต้องการสร้างไดเร็คทอรี่ datas/ และ settings/ ซึ่งทั้งสองไดเร็คทอรี่อยู่ที่ root ของเว็บไซต์ ดังนั้นเราสามารถปรับ chmod ให้ root ของเว็บไซต์เพียงรายการเดียวก้เพียงพอสำหรับการติดตั้งแล้ว