You dont have javascript enabled! Please enable it!

S-Design News
แหล่งรวมความรู้ บทความ ข่าวสาร

แหล่งรวมคลังความรู้รอบตัว บทความ ข่าวสารและเทคโนโลยี จาก S-Design News เนื้อหาบทความข่าวสารและแหล่งความรู้ต่างๆ รวบรวมเรียบเรียงโดยระบบ AI อัจฉริยะ
เพื่อสร้างสังคมแห่งการเรียนรู้ในยุคดิจิทัล และเป็นประโยชน์แก่ผู้อ่านทุกท่าน เพื่อเป็นองค์ความรู้และสนับสนุนให้คนรักการอ่าน พร้อมแบ่งปันประสบการณ์การอยู่ร่วมกัน
ของมนุษย์ กับ AI อย่างสงบสุขพึ่งพากันและกัน หากเนื้อหาและข้อมูลส่วนใดของบทความข่าวสาร และแหล่งความรู้ต่างๆที่ AI รวบรวมและเรียบเรียงมา มีข้อผิดพลาดประการใด
ทาง S-Design News ต้องกราบขออภัยล่วงหน้ามา ณ ที่นี้ ด้วยครับ ทางเรายินดีรับฟังความคิดเห็น คำติชม คำตักเตือน เพื่อนำมาปรับใช้และแก้ไขในการวางระบบ AI ให้ดียิ่งขึ้นต่อไป
แหล่งรวมความรู้ บทความ ข่าวสาร S-Design News อยู่ภายใต้การบริหารจัดการดูแลระบบและควบคุมการวางคำสั่งรันระบบ AI อัจฉริยะ
โดย : Shop SDesign ผู้ให้บริการเว็บโฮสติ้ง รับทำเว็บไซต์ และโซลูชั่นออนไลน์ครบวงจ (นโยบายความเป็นส่วนตัว)

วิธีตั้งค่าสิทธิ์ไฟล์และโฟลเดอร์ (File Permissions) บนลินุกซ์เซิร์ฟเวอร์

coverblog 12
Facebook
Twitter
LinkedIn
Pinterest

วิธีตั้งค่าสิทธิ์ไฟล์และโฟลเดอร์ (File Permissions) บนลินุกซ์เซิร์ฟเวอร์

การบริหารจัดการสิทธิ์การเข้าถึงไฟล์และโฟลเดอร์บน Linux เป็นหนึ่งในหัวใจสำคัญของการดูแลเซิร์ฟเวอร์ให้ปลอดภัยและเสถียร โดยเฉพาะผู้ดูแลระบบ เว็บไซต์ หรือผู้ใช้งานเซิร์ฟเวอร์ที่ต้องทำงานร่วมกับหลายบัญชีผู้ใช้ การเข้าใจและสามารถตั้งค่า File Permissions Linuxได้อย่างถูกต้อง จะช่วยลดโอกาสการรั่วไหลของข้อมูล การถูกโจมตี และปัญหา “Permission Denied” ที่ทำให้ระบบทำงานผิดปกติ

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


พื้นฐานโครงสร้างสิทธิ์ไฟล์บน Linux ที่ควรรู้

1. Owner, Group, Others คือใครในระบบสิทธิ์

เมื่อใช้คำสั่ง ls -l คุณจะเห็นสิทธิ์ในรูปแบบตัวอักษร เช่น -rwxr-xr-- ข้อมูลนี้แบ่งกลุ่มผู้ใช้งานออกเป็น 3 ส่วนหลัก ได้แก่

  • Owner – เจ้าของไฟล์ (มักเป็นผู้สร้างไฟล์)
  • Group – กลุ่มผู้ใช้ที่มีสิทธิ์ตามที่กำหนดบนไฟล์/โฟลเดอร์นั้นๆ
  • Others – ผู้ใช้อื่นทั้งหมดที่ไม่ใช่ Owner และไม่อยู่ใน Group

การตั้งค่า File Permissions Linuxอย่างเหมาะสม คือการกำหนดว่าในแต่ละกลุ่ม จะ “อ่านได้ (Read) เขียนได้ (Write) หรือรันได้ (Execute)” หรือไม่

2. ค่า R, W, X และเลข 7 5 0 มาจากไหน

แต่ละสิทธิ์มีค่าในรูปแบบตัวอักษรและตัวเลขดังนี้

  • r (Read) = 4 อ่านไฟล์หรือดูรายการไฟล์ในโฟลเดอร์
  • w (Write) = 2 แก้ไขไฟล์ สร้าง หรือลบไฟล์ในโฟลเดอร์
  • x (Execute) = 1 รันไฟล์โปรแกรม หรือเข้าโฟลเดอร์นั้นได้

เมื่อรวมค่าตัวเลขเข้าด้วยกัน เช่น

  • 7 = 4+2+1 = rwx (อ่าน/เขียน/รันได้ครบ)
  • 5 = 4+1 = r-x (อ่านและรันได้ แต่แก้ไขไม่ได้)
  • 4 = r– (อ่านอย่างเดียว)
  • 0 = (ไม่มีสิทธิ์ใดๆ)

ตัวอย่าง chmod 750 file.txt หมายถึง Owner = 7 (rwx), Group = 5 (r-x), Others = 0 (—)


คำสั่งสำคัญสำหรับการตั้งค่า File Permissions Linux

1. คำสั่ง ls -l: ดูสิทธิ์ไฟล์/โฟลเดอร์

เริ่มต้นจากการตรวจสอบสิทธิ์ก่อนปรับแต่ง:

  • ls -l – แสดงรายการไฟล์และสิทธิ์
  • ls -ld directory_name – ดูสิทธิ์ของโฟลเดอร์เอง (ไม่ใช่รายการภายใน)

ตัวอย่างผลลัพธ์:

-rw-r--r-- 1 user group  1200 Jun  5 10:00 index.php
drwxr-xr-x 2 user group  4096 Jun  5 10:00 public_html
  • ตัวอักษรตัวแรก: - = ไฟล์ปกติ, d = directory
  • 3 ตัวต่อชุด: Owner | Group | Others เช่น rw- r-- r--

2. คำสั่ง chmod: เปลี่ยนสิทธิ์ไฟล์และโฟลเดอร์

คำสั่งหลักในการตั้งค่า File Permissions Linuxคือ chmod ซึ่งใช้งานได้ 2 รูปแบบ คือแบบตัวเลข และแบบตัวอักษร

  • แบบตัวเลข (Numeric mode)
    chmod 640 file.txt
    หมายถึง Owner = 6 (rw-), Group = 4 (r–), Others = 0 (—)
  • แบบตัวอักษร (Symbolic mode)
    chmod u+x script.sh เพิ่มสิทธิ์ execute ให้ Owner
    chmod g-w file.txt ลบสิทธิ์ write ออกจาก Group
    chmod o-r file.txt ลบสิทธิ์ read ของ Others

สำหรับโฟลเดอร์และไฟล์ภายในทั้งหมด สามารถใช้ option -R เพื่อทำแบบ recursive:

  • chmod -R 755 /var/www/html

3. คำสั่ง chown และ chgrp: เปลี่ยนเจ้าของและกลุ่ม

นอกจากการตั้งค่า Permission แล้ว เรื่อง Owner/Group ก็สำคัญมาก

  • chown user file.txt – เปลี่ยน Owner
  • chown user:group file.txt – เปลี่ยนทั้ง Owner และ Group
  • chgrp group file.txt – เปลี่ยนเฉพาะ Group
  • chown -R user:group /var/www – เปลี่ยนแบบ recursive ทั้งโฟลเดอร์

การกำหนดสิทธิ์ที่เหมาะสม ต้องมองควบคู่กันทั้ง Owner, Group และ Permission ไม่ใช่ปรับเฉพาะตัวเลข chmod เพียงอย่างเดียว


แนวทางตั้งค่าสิทธิ์ไฟล์/โฟลเดอร์บน Linux Server อย่างปลอดภัย

1. หลักการพื้นฐาน: ให้น้อยที่สุดเท่าที่จำเป็น (Least Privilege)

การรักษาความปลอดภัยของเซิร์ฟเวอร์มักยึดหลัก “ให้สิทธิ์เท่าที่จำเป็น” เพื่อป้องกันผู้ไม่หวังดีหรือโปรแกรมที่มีช่องโหว่ใช้สิทธิ์เกินความจำเป็น ตัวอย่างการนำไปใช้:

  • ไฟล์ config ที่มีรหัสผ่านฐานข้อมูล ควรให้ Owner อ่าน/เขียนได้เท่านั้น Others ควรไม่มีสิทธิ์
  • ไฟล์สคริปต์เว็บ (PHP, Python) ส่วนใหญ่ไม่จำเป็นต้องให้สิทธิ์เขียนจากเว็บเซิร์ฟเวอร์ ยกเว้นกรณีเฉพาะ
  • ไฟล์ executable ควรจำกัดเฉพาะผู้ที่จำเป็นต้องรันเท่านั้น

แนวคิดนี้ช่วยลดผลกระทบหากมีไฟล์หรือบริการใดถูกเจาะระบบ เพราะผู้โจมตีจะไม่สามารถขยายสิทธิ์ได้ง่าย

2. สิทธิ์ที่แนะนำสำหรับ Web Server เบื้องต้น

สภาพแวดล้อมจริงอาจแตกต่างกัน แต่แนวทางพื้นฐานที่นิยมใช้คือ

  • ไฟล์เว็บไซต์ทั่วไป644 (Owner: rw-, Group: r–, Others: r–)
  • โฟลเดอร์เว็บไซต์755 (Owner: rwx, Group: r-x, Others: r-x)
  • ไฟล์ config สำคัญ – เช่น wp-config.php, .env
    ควรลดสิทธิ์ Others เหลือ 600 หรือ 640 ตามความเหมาะสม
  • ไฟล์ที่ต้องรัน (Shell script) – เช่น deploy.sh
    อาจใช้ 750 ให้เฉพาะ Owner/Group ที่เกี่ยวข้องรันได้

ในบางระบบ ผู้ให้บริการโฮสติ้งอาจกำหนดมาตรฐานสิทธิ์ไฟล์/โฟลเดอร์ไว้ชัดเจน ควรตรวจสอบและปฏิบัติตามเพื่อให้ทำงานร่วมกับระบบรักษาความปลอดภัยได้อย่างราบรื่น

3. ตัวอย่างการตั้งค่าแบบใช้งานจริง

  • เว็บแอปในโฟลเดอร์ /var/www/project
    chown -R deploy:www-data /var/www/project
    find /var/www/project -type d -exec chmod 755 {} \;
    find /var/www/project -type f -exec chmod 644 {} \;
  • กำหนดสิทธิ์ไฟล์ config ให้อ่านได้เฉพาะ Owner
    chmod 600 /var/www/project/.env

อย่าใช้สิทธิ์ 777 กับไฟล์/โฟลเดอร์ เว้นแต่เป็นกรณีจำเป็นชั่วคราว เพราะเปิดสิทธิ์เขียน-รันให้ทุกคน เสี่ยงต่อการโดนฝังโค้ดไม่พึงประสงค์อย่างมาก


โหมดพิเศษบน Linux: SUID, SGID และ Sticky Bit

1. SUID และ SGID คืออะไร

นอกจากสิทธิ์ r, w, x ปกติ ยังมี “บิตพิเศษ” ที่ใช้ในสถานการณ์เฉพาะ:

  • SUID (Set User ID) – เมื่อรันไฟล์ โปรแกรมจะรันในสิทธิ์ของ Owner ของไฟล์นั้น
  • SGID (Set Group ID) – คล้ายกับ SUID แต่เป็นสิทธิ์ของ Group หรือใช้กับ directory เพื่อให้ไฟล์ใหม่สืบทอด group เดียวกัน

ตัวอย่าง: ไฟล์ /usr/bin/passwd มักมี SUID เพื่อให้ผู้ใช้เปลี่ยนรหัสของตัวเองได้

2. Sticky Bit สำหรับโฟลเดอร์แชร์

Sticky Bit มักใช้กับโฟลเดอร์ที่ใช้แชร์ไฟล์ร่วมกัน เช่น /tmp ทำให้ผู้ใช้ลบได้เฉพาะไฟล์ของตัวเอง ถึงแม้โฟลเดอร์จะเปิดสิทธิ์กว้าง

  • chmod +t /shared/folder – เปิด Sticky Bit
  • เมื่อดูด้วย ls -ld จะเห็นตัวอักษร t ที่ตำแหน่ง Others

3. การใช้งานอย่างระมัดระวัง

การตั้งค่า SUID/SGID/Sticky Bit ควรทำด้วยความเข้าใจ เพราะหากตั้งค่าไม่เหมาะสมอาจเปิดช่องโหว่ให้ผู้ไม่หวังดีใช้สิทธิ์เกินกว่าที่ควรได้


ตรวจสอบและจัดการสิทธิ์อย่างเป็นระบบ

1. ใช้ find ค้นหาไฟล์ที่อาจเสี่ยง

สำหรับผู้ดูแลระบบที่ต้องการตรวจสอบสิทธิ์ที่อาจไม่ปลอดภัย สามารถใช้คำสั่งเช่น

  • find /var/www -type f -perm 777 – หาไฟล์ที่สิทธิ์ 777
  • find / -perm -4000 -type f – หาไฟล์ที่มี SUID
  • find / -perm -2000 -type f – หาไฟล์ที่มี SGID

2. จัดทำมาตรฐานสิทธิ์ภายในทีม

สำหรับองค์กรหรือทีมพัฒนา ควรมี “แนวทางมาตรฐาน” ในการกำหนดสิทธิ์ไฟล์/โฟลเดอร์ เช่น

  • ไฟล์โค้ด: 640–644
  • โฟลเดอร์โปรเจกต์: 750–755
  • ไฟล์ข้อมูลสำคัญ: 600–640
  • ห้ามใช้ 777 ในสภาพแวดล้อมจริง (Production)

เมื่อใช้ร่วมกับระบบ Control Panel, Git, หรือระบบ CI/CD การกำหนดมาตรฐานสิทธิ์ที่ชัดเจนจะช่วยลดปัญหาเมื่อย้ายระบบหรือปรับปรุงโครงสร้างเซิร์ฟเวอร์ในอนาคต

การจัดการสิทธิ์ไฟล์ที่ดี ไม่ได้ช่วยแค่เรื่องความปลอดภัย แต่ยังช่วยให้การทำงานร่วมกันในทีมเป็นระเบียบ ลดปัญหางานสะดุดจาก “Permission Denied” ได้มาก


สรุป: แนวทางปฏิบัติที่นำไปใช้ได้ทันที

📌 ประเด็นสำคัญที่สามารถนำไปใช้จริงในการตั้งค่า File Permissions Linuxบนเซิร์ฟเวอร์ของคุณ

  • ทำความเข้าใจโครงสร้าง Owner / Group / Others และสิทธิ์ r, w, x รวมถึงค่าตัวเลข 7, 5, 4, 0 ให้ชัดเจน
  • ใช้คำสั่ง ls -l ตรวจสอบก่อนเปลี่ยนสิทธิ์ และใช้ chmod, chown, chgrp อย่างระมัดระวัง
  • ยึดหลัก “ให้น้อยแต่พอใช้” (Least Privilege) ลดสิทธิ์ Others ให้ต่ำที่สุด โดยเฉพาะไฟล์ที่มีข้อมูลสำคัญหรือ credential
  • สำหรับ Web Server ทั่วไป: ไฟล์ใช้ 644, โฟลเดอร์ใช้ 755 และลดสิทธิ์ไฟล์ config สำคัญให้เหลือ 600 หรือ 640
  • หลีกเลี่ยงการใช้สิทธิ์ 777 บนเซิร์ฟเวอร์จริง เพราะเสี่ยงสูงต่อการถูกแก้ไข/ฝังโค้ดจากผู้ไม่หวังดี
  • ใช้ find ช่วยค้นหาไฟล์ที่สิทธิ์ไม่เหมาะสม และกำหนดมาตรฐานสิทธิ์ร่วมกันในทีมเพื่อให้ดูแลระบบได้ง่ายขึ้น

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

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

ติดตามข่าวสารและบทความดีๆจากเราได้ทุกวัน
Shop SDesign Web Hosting & Web Design

เรื่องที่เกี่ยวข้อง

coverblog 13

ทำไมการอัปเดตเวอร์ชัน PHP และตัวคุมระบบ ถึงช่วยปิดช่องโหว่แฮกเกอร์

ทำไมการอัปเดตเวอร์ชัน PHP และตัวคุมระบบ ถึงช่วยปิดช่องโหว่แฮกเกอร์ เว็บไซต์และระบบออนไลน์ที่สร้างด้วย PHP และรันอยู่บน Control Panel ต่างๆ เช่น Plesk หรือระบบตัวคุมเซิร์ฟเวอร์อื่นๆ หากไม่ถูกดูแลอย่างสม่ำเสมอ ย่อมมีความเสี่ยงที่จะถูกโจมตีได้ง่าย การวา

coverblog 11

สัญญาณเตือนเมื่อ VPS Server ของคุณ โดนแอบใช้รันสคริปต์ส่งสแปมอีเมล

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

coverblog 10

รู้จักระบบ Web Application Firewall (WAF) เกราะป้องกันหน้าบ้านของเว็บไซต์

รู้จักระบบ Web Application Firewall (WAF) เกราะป้องกันหน้าบ้านของเว็บไซต์ เมื่อเว็บไซต์และแอปพลิเคชันออนไลน์กลายเป็นหัวใจของธุรกิจ ความปลอดภัยจึงเป็นเรื่องที่หลีกเลี่ยงไม่ได้ หนึ่งในคำถามที่เจ้าของเว็บไซต์และทีมไอทีมักสงสัยคือ Web Application Firewal

Logo shopsdesign

บริการออนไลน์ครบวงจรจาก Shop SDesign

  • รับทำเว็บไซต์ WordPress: ออกแบบและพัฒนาเว็บไซต์ที่ตอบโจทย์ธุรกิจ รองรับการแสดงผลทุกหน้าจอ (Responsive) และเน้นการใช้งานที่ง่ายสำหรับเจ้าของธุรกิจ

  • บริการ SEO & Google Ads: ผลักดันเว็บไซต์ของคุณให้ติดหน้าแรก Google ด้วยกลยุทธ์สายขาว เพิ่มจำนวนผู้เข้าชมและสร้างโอกาสในการขายอย่างยั่งยืน

  • Web Hosting & Cloud: บริการโฮสติ้งความเร็วสูง เสถียร และปลอดภัย พร้อมดูแลโดยทีมงานมืออาชีพตลอด 24 ชั่วโมง

  • Domain & SSL Certificate: จดชื่อโดเมนเนมที่ต้องการ พร้อมติดตั้งระบบความปลอดภัย SSL (กุญแจเขียว) เพื่อสร้างความเชื่อมั่นให้แก่ลูกค้าและส่งผลดีต่อ SEO

บริการ เว็บโฮสติ้งคุณภาพ

บริการ เว็บโฮสติ้ง คุณภาพ

พร้อมบริการเสริมอีกมากมาย ดูแลซัพพอร์ทตลอด 24 ชม” บริการ เว็บโฮสต์ติ้ง  เพื่อให้ผู้ใช้บริการนำไปเพื่อสร้างเว็บไซต์ และนำเอกสารไฟล์รูปภาพรวมถึงไฟล์มีเดียต่างๆ ขึ้นมาไว้บน Server เพื่อให้สามารออนไลน์ได้ตลอด 24 ชั่วโมง

พร้อมด้วยระบบรักษาความปลอดภัย Imunify360
และระบบ Control Panel  Plesk

Plesk

Control Panel

ระบบจัดการโฮสติ้ง - Plesk

Imunify360

ระบบรักษาความปลอดภัย Server

บริการ Web Hosting รับทำเว็บไซต์ wordpress