ข้ามไปเนื้อหาหลัก

วิธีจัดการสิทธิ์ไฟล์ Linux สำหรับเว็บเซิร์ฟเวอร์ด้วย chmod และ chown

เรียนรู้วิธีตั้งค่าสิทธิ์และเจ้าของไฟล์บน Linux สำหรับ NGINX และ Apache เพื่อแก้ปัญหาข้อผิดพลาด 403 Forbidden และเพิ่มความปลอดภัยให้เว็บเซิร์ฟเวอร์ของคุณ

เรียบเรียงโดย AI
Inewgen
17 Sep 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
วิธีจัดการสิทธิ์ไฟล์ Linux สำหรับเว็บเซิร์ฟเวอร์ด้วย chmod และ chown

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • สิทธิ์ไฟล์ที่ไม่ถูกต้องบน Linux เป็นสาเหตุหลักของ Error 403 และช่องโหว่ความปลอดภัย
  • ใช้คำสั่ง chown เพื่อกำหนดให้บัญชีผู้ใช้เป็นเจ้าของและกลุ่ม www-data เป็นกลุ่มสิทธิ์
  • ใช้คำสั่ง chmod เพื่อจำกัดสิทธิ์การเข้าถึงไฟล์และไดเรกทอรีให้ปลอดภัยสูงสุด
  • การตั้งค่าสิทธิ์ที่ถูกต้องช่วยให้แก้ไขไฟล์ได้โดยไม่ต้องใช้ sudo ตลอดเวลา

ปัญหาข้อผิดพลาด 403 Forbidden และช่องโหว่ด้านความปลอดภัยบนเว็บเซิร์ฟเวอร์ Linux มักมีสาเหตุหลักมาจากการตั้งค่าสิทธิ์ไฟล์ที่ไม่ถูกต้อง หากกระบวนการของเว็บเซิร์ฟเวอร์อย่าง NGINX หรือ Apache ไม่สามารถอ่านไฟล์เว็บไซต์ได้ ระบบก็จะไม่สามารถแสดงผลหน้าเว็บให้ผู้ใช้งานเห็นได้ ในทางตรงกันข้าม หากตั้งค่าสิทธิ์ไฟล์หลวมจนเกินไป บุคคลที่ไม่ได้รับอนุญาตก็อาจเข้ามาแก้ไขโค้ดของคุณได้เช่นกัน

ในบทความนี้เราจะพาไปดูขั้นตอนเชิงปฏิบัติในการกำหนดความเป็นเจ้าของและสิทธิ์การเข้าถึงไดเรกทอรีเว็บ Linux อย่างเหมาะสมโดยใช้เครื่องมือหลักสองตัว ได้แก่ chown และ chmod เพื่อให้ระบบทำงานได้อย่างราบรื่นและปลอดภัย

terminal command line linux ubuntu screen

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

โดยปกติแล้ว ระบบปฏิบัติการ Linux จะกำหนดเจ้าของและกลุ่มให้กับทุกไฟล์และไดเรกทอรี โดยเว็บเซิร์ฟเวอร์อย่าง Apache และ NGINX จะรันภายใต้ระบบผู้ใช้เฉพาะกิจ เช่น www-data หรือ nginx คุณสามารถตรวจสอบความเป็นเจ้าของปัจจุบันของไดเรกทอรีเว็บ เช่น /var/www/html ได้ด้วยการเปิดเทอร์มินัลแล้วรันคำสั่ง:

ls -ld /var/www/html

หากพบว่าเจ้าของถูกตั้งค่าเป็น root บัญชีผู้ใช้ปกติของคุณจะไม่สามารถแก้ไขไฟล์เว็บไซต์ได้เลย เว้นแต่จะต้องพึ่งพาคำสั่ง sudo ทุกครั้ง

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

การเข้าใจระบบสิทธิ์ UGO (User, Group, Others) บน Linux เป็นพื้นฐานสำคัญสำหรับผู้ดูแลระบบ การให้สิทธิ์ผิดพลาดเพียงเล็กน้อยอาจเปิดช่องให้ผู้ไม่หวังดีเข้ามาฝังมัลแวร์ในเว็บเซิร์ฟเวอร์ได้ การใช้กลุ่มเฉพาะอย่าง www-data ร่วมกับสิทธิ์แบบจำกัดจึงเป็นปราการด่านแรกที่ช่วยแยกระหว่างสิทธิ์ของแอดมินระบบและสิทธิ์ของเว็บเซิร์ฟเวอร์ออกจากกันอย่างเด็ดขาด

เพื่อเปิดทางให้บัญชีผู้ใช้ของคุณสามารถแก้ไขไฟล์เว็บได้อย่างสะดวกโดยไม่ต้องใช้ sudo พร้อมๆ กับให้เว็บเซิร์ฟเวอร์มีสิทธิ์อ่านไฟล์ ให้ทำการกำหนดให้บัญชีผู้ใช้ของคุณเป็นเจ้าของหลัก และระบุกลุ่มของเว็บเซิร์ฟเวอร์คือ www-data เป็นเจ้าของกลุ่ม:

sudo chown -R $USER:www-data /var/www/html

  • -R: นำการเปลี่ยนแปลงความเป็นเจ้าของนี้ไปใช้แบบรีเคอร์ซีฟกับทุกไฟล์และโฟลเดอร์ย่อย
  • $USER: ตัวแปรสภาพแวดล้อมที่แทนชื่อผู้ใช้ที่คุณกำลังใช้งานอยู่
  • www-data: ชื่อกลุ่มของเว็บเซิร์ฟเวอร์

หลังจากอัปเดตแล้ว ให้ตรวจสอบความถูกต้องอีกครั้งด้วยคำสั่ง ls -ld /var/www/html ซึ่งผลลัพธ์ควรแสดงชื่อผู้ใช้ของคุณและกลุ่ม www-data อย่างชัดเจน

ในขั้นตอนถัดมา การกำหนดสิทธิ์ความปลอดภัยสำหรับไฟล์และไดเรกทอรีด้วยคำสั่ง chmod จะช่วยกำหนดว่าเจ้าของ (u), กลุ่ม (g) และผู้อื่น (o) สามารถทำอะไรกับไฟล์เหล่านั้นได้บ้าง โดยผู้ใช้ทั่วไปจะสามารถแก้ไขเนื้อหาเว็บไซต์ได้อย่างสะอาดหมดจดผ่านไฟล์เช่น index.html ขณะที่เว็บเซิร์ฟเวอร์ยังคงรักษาสิทธิ์การอ่านได้อย่างปลอดภัย

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้