ถ้าคุณใช้ FTP เช่น FileZilla, WinSCP หรือ Cyberduck แล้วขึ้นข้อความ FTP Permission Denied เวลาพยายาม Upload, Delete หรือแก้ไขไฟล์ นั่นหมายความว่า บัญชี FTP ไม่มีสิทธิ์เข้าถึงไฟล์หรือโฟลเดอร์นั้น
ปัญหานี้พบได้บ่อยมากกับคนที่ดูแลเว็บไซต์ WordPress หรือเว็บไซต์ทั่วไป เพราะระบบ Linux Server จะควบคุมสิทธิ์ไฟล์ (File Permission) อย่างเข้มงวด
บทความนี้จะอธิบายว่า FTP Permission Denied คืออะไร เกิดจากอะไร และแก้ยังไงแบบมืออาชีพ
① 🔍 FTP Permission Denied คืออะไร
FTP Permission Denied หมายถึง
เซิร์ฟเวอร์ปฏิเสธการเข้าถึงไฟล์หรือโฟลเดอร์ เพราะผู้ใช้ FTP ไม่มีสิทธิ์
ตัวอย่าง Error ที่พบ
550 Permission denied
Permission denied
Access denied
อาการที่พบ
-
Upload ไฟล์ไม่ได้
-
ลบไฟล์ไม่ได้
-
เปลี่ยนชื่อไฟล์ไม่ได้
-
แก้ไขไฟล์ไม่ได้
② ⚠️ สาเหตุหลักที่ทำให้เกิด Permission Denied
มีหลายสาเหตุที่ทำให้ FTP ไม่มีสิทธิ์เข้าถึงไฟล์
📁 1 File Permission ผิด
ไฟล์ใน Linux Server มีสิทธิ์ เช่น
644
755
777
ถ้า Permission ไม่ถูกต้อง FTP จะไม่สามารถแก้ไขไฟล์ได้
👤 2 เจ้าของไฟล์ (Owner) ไม่ตรง
ถ้าไฟล์ถูกสร้างโดย
-
Apache
-
Nginx
-
Script
Owner อาจไม่ใช่ FTP User
จึงแก้ไขไฟล์ไม่ได้
📂 3 FTP User ถูกจำกัดโฟลเดอร์
FTP User บางครั้งถูกกำหนดให้เข้าถึงเฉพาะ
/public_html
ถ้าพยายามเข้าโฟลเดอร์อื่น
จะถูกปฏิเสธ
🔒 4 โฟลเดอร์ถูกล็อกโดยระบบ
บาง Hosting จะล็อกโฟลเดอร์ระบบ เช่น
/etc
/root
เพื่อป้องกันความเสียหาย
⚙️ 5 Server Security Block
ระบบ Security เช่น
-
SELinux
-
ModSecurity
อาจปฏิเสธการเข้าถึงไฟล์
③ 🔧 วิธีแก้ FTP Permission Denied
ให้ลองแก้ตามขั้นตอนนี้
✔️ ขั้นตอนที่ 1 เปลี่ยน File Permission
ใน FileZilla
คลิกขวาที่ไฟล์ → File Permissions
ตั้งค่าเป็น
ไฟล์
644
โฟลเดอร์
755
✔️ ขั้นตอนที่ 2 ตรวจสอบ Owner ของไฟล์
ถ้าไฟล์ถูกสร้างโดย Web Server
Owner อาจไม่ใช่ FTP User
ต้องเปลี่ยน Owner ผ่าน
-
SSH
-
Hosting Control Panel
✔️ ขั้นตอนที่ 3 ตรวจสอบโฟลเดอร์ที่เข้าถึง
ตรวจสอบว่า FTP User ถูกจำกัดโฟลเดอร์หรือไม่
เช่น
/public_html
✔️ ขั้นตอนที่ 4 Upload ไฟล์ใหม่
บางครั้งไฟล์เก่าอาจมี Permission ผิด
ให้
-
ลบไฟล์
-
Upload ใหม่
✔️ ขั้นตอนที่ 5 ติดต่อ Hosting Support
ถ้าไม่สามารถแก้ Permission ได้
ให้ Hosting ตรวจสอบ
-
File Owner
-
Server Security
กลางบทความนี้ต้องย้ำว่า ปัญหา Permission Denied มักเกิดจาก File Permission หรือ Owner ของไฟล์ ซึ่งเป็นเรื่องปกติของระบบ Linux ทีม COMSIAM เจอปัญหานี้บ่อยโดยเฉพาะเวลาอัปโหลดเว็บไซต์ผ่าน FTP
④ 📡 ค่า Permission ที่แนะนำสำหรับเว็บไซต์
ค่ามาตรฐานที่ใช้กันคือ
ไฟล์
644
โฟลเดอร์
755
ไม่ควรใช้
777
เพราะมีความเสี่ยงด้านความปลอดภัย
⑤ 🔧 วิธีป้องกัน Permission Denied
เพื่อป้องกันปัญหานี้ในอนาคต
ควร
-
ใช้ Permission มาตรฐาน
-
ใช้ FTP Account ที่ถูกต้อง
-
ไม่แก้ไขไฟล์ระบบโดยไม่จำเป็น
สรุป
FTP Permission Denied หมายถึง FTP User ไม่มีสิทธิ์เข้าถึงไฟล์หรือโฟลเดอร์
สาเหตุหลักคือ
-
File Permission ผิด
-
Owner ของไฟล์ไม่ถูกต้อง
-
FTP User ถูกจำกัดโฟลเดอร์
วิธีแก้ที่ได้ผลเร็วที่สุดคือ
1 เปลี่ยน Permission เป็น 644 หรือ 755
2 ตรวจสอบ Owner ของไฟล์
3 ตรวจสอบโฟลเดอร์ที่เข้าถึง
ทำครบตามนี้ส่วนใหญ่จะสามารถแก้ปัญหา Permission Denied ได้ทันที