Ubuntu Server (หรือ Linux ทั่วไป) ว่ากันด้วยเรื่องของการตั้งค่า สิทธิ์ (permission)

โฟลเดอร์ (Directory)755
ไฟล์ (File)644

find /path/to/your/folder -type d -exec chmod 755 {} \;
find /path/to/your/folder -type f -exec chmod 644 {} \;

คำอธิบาย

  1. find /path/to/your/folder → ค้นหาภายในโฟลเดอร์ที่ต้องการ (แทน /path/to/your/folder ด้วย path จริง เช่น /var/www/html)
  2. -type d → หมายถึงเลือกเฉพาะ Directory (โฟลเดอร์)
    • จากนั้น -exec chmod 755 {} \; → สั่งเปลี่ยนสิทธิ์ของทุกโฟลเดอร์เป็น 755
  3. -type f → หมายถึงเลือกเฉพาะ File (ไฟล์)
    • จากนั้น -exec chmod 644 {} \; → สั่งเปลี่ยนสิทธิ์ของทุกไฟล์เป็น 644

📊 ความหมายของสิทธิ์

  • 755 → เจ้าของ (owner) อ่าน/เขียน/รัน ได้, กลุ่มและคนอื่น อ่าน/รัน ได้
    → เหมาะกับ โฟลเดอร์ (เพราะโฟลเดอร์ต้องมีสิทธิ์ execute x ถึงจะเปิดเข้าไปได้)
  • 644 → เจ้าของ อ่าน/เขียน ได้, กลุ่มและคนอื่น อ่านได้อย่างเดียว
    → เหมาะกับ ไฟล์ (ปกติไม่ต้อง execute ยกเว้นไฟล์ script หรือ binary)

👉 ถ้าอยากรันทีเดียวจบแบบต่อเนื่อง ก็ใช้:

find /path/to/your/folder -type d -exec chmod 755 {} \; -o -type f -exec chmod 644 {} \;