การตั้งค่า Permission ด้วย chmod และ chown บน Ubuntu Server 25.10

การตั้งค่า Permission ด้วย chmod และ chown บน Ubuntu Server 25.10

ในงาน SysAdmin จริง “Permission” คือจุดที่พลาดแล้วพังได้ทันที เช่น

  • เปิดสิทธิ์กว้างเกิน → เสี่ยงโดนโจมตี
  • ตั้งแคบเกิน → แอปทำงานไม่ได้

บทความนี้จะพา “ลงมือทำจริง” เข้าใจทั้ง chmod และ chown แบบใช้งานได้ทันที


ทุกไฟล์ใน Linux มี 3 ส่วนหลัก

  • Owner (เจ้าของไฟล์)
  • Group (กลุ่ม)
  • Others (คนอื่น)

และมี 3 สิทธิ์

  • r = read (อ่าน)
  • w = write (เขียน)
  • x = execute (รัน)

สิ่งที่ต้องเตรียมก่อนลงมือ

  • Ubuntu Server 25.10
  • มีสิทธิ์ sudo
  • มีไฟล์สำหรับทดสอบ

1. ตรวจสอบ Permission ปัจจุบัน

ls -l
 

ตัวอย่าง

-rw-r–r– 1 sysadmin developers 1024 Apr 20 file.txt
 

แปลความ

  • rw- → owner อ่าน/เขียน
  • r-- → group อ่านอย่างเดียว
  • r-- → others อ่านอย่างเดียว

2. ใช้คำสั่ง chmod (เปลี่ยน Permission)

แบบตัวอักษร (Symbolic Mode)

chmod u+x script.sh

อธิบาย

  • u = user (owner)
  • g = group
  • o = others
  • +x = เพิ่ม execute

แบบตัวเลข (Numeric Mode) — ใช้บ่อยที่สุด

ค่า ความหมาย
7 rwx
6 rw-
5 r-x
4 r–

ตัวอย่าง

chmod 755 script.sh

 แปล

  • owner = rwx
  • group = r-x
  • others = r-x

คำสั่งสำคัญมาก (ใช้ให้ระวัง)

chmod 777 file.txt

❌ อันตราย

  • ทุกคน read/write/execute ได้หมด
  • เสี่ยงโดนแก้ไฟล์ / ฝัง malware

 3. ใช้คำสั่ง chown (เปลี่ยน Owner)

sudo chown sysadmin file.txt
 

เปลี่ยนทั้ง Owner และ Group

sudo chown sysadmin:developers file.txt
 

ใช้กับ Folder (recursive)

sudo chown -R sysadmin:developers /project

-R = เปลี่ยนทั้งโฟลเดอร์และไฟล์ภายใน


4. ตัวอย่างใช้งานจริง (สำคัญมาก)

Scenario: แชร์ไฟล์ให้ทีม

# สร้าง folder
sudo mkdir /shared

# เปลี่ยน group
sudo chown :developers /shared

# ตั้ง permission
sudo chmod 770 /shared

 

ผลลัพธ์

  • owner + group ใช้งานได้
  • คนอื่นเข้าไม่ได้

Scenario: ทำให้ script รันได้

chmod +x deploy.sh
./deploy.sh
 

 5. ทดสอบ Permission

ls -l

หรือเช็คเฉพาะไฟล์

stat file.txt
 

 Security Tips (ระดับมืออาชีพ)

✅ ใช้ 755 สำหรับ script

✅ ใช้ 644 สำหรับไฟล์ทั่วไป

✅ ใช้ 770 สำหรับ shared folder

❌ หลีกเลี่ยง 777 ทุกกรณี (ยกเว้น test lab)


ข้อควรระวัง

  • อย่า chmod -R 777 / เด็ดขาด → ระบบพังทันที
  • ตรวจสอบ owner/group ก่อน deploy จริง
  • ใช้ principle: Least Privilege (ให้สิทธิ์เท่าที่จำเป็น)

สรุป

  • chmod = คุมสิทธิ์
  • chown = คุมเจ้าของ
  • ใช้คู่กันเสมอในงานจริง

ถ้าคุณเข้าใจ 2 คำสั่งนี้ = คุณควบคุมระบบ Linux ได้ “เกือบทั้งหมด”