ในงาน 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= groupo= 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
./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 ได้ “เกือบทั้งหมด”

