Chmod ใน Linux คืออะไร และ ใช้งานยังไง


ทำความรู้จัก chmod

เป็น คำสั่ง Linux ที่ใช้ในการกำหนด สิทธิ์การเข้าถึง File หรือ Directory นั้นๆ

โดยการใช้ คำสั่ง chmod จะตาม ด้วย ค่า ตัวเลขชุดนึง เช่น
chmod 755 chmod 777 เป็นต้น และค่า พวกนี้ ( 755 , 777 ,.. ) มีความหมายดังนี้


permision3

  • Execute
    คือการที่ให้ File หรือ Directory นั้นทำงานได้
  • Write
    คือการที่ให้สามารถเขียนหรือแก้ไข File หรือ Directory นั้นได้
  • Read
    คือการที่ให้สามารถอ่าน File หรือ Directory นั้นได้

การนำไปใช้

ยกตัวอย่าง 644

6 -> คือการกำหนดสิทธิ์ ในชุดแรก ( Owner )
4 -> คือการกำหนดสิทธิ์ ในชุดถัดไป ( Group )
4 -> คือการกำหนดสิทธิ์ ในชุดสุดท้าย ( Other หรือ ใครๆก็ตาม )

จากตัวอย่าง

  • เลข 6 ( Owner )
    มาจาก การ เอา 4 ของ Read + 2 ของ Write = 6

    กล่าวคือ File หรือ Directory นี้ Owner สามารถ ทำได้แค่ Read และ Write เท่านั้น

  • เลข 4 ( Group )
    การที่มีแค่ 4 ตัวเดียวก็คือ คนใน Group เดียวกัน สามารถ เข้าถึง File หรือ Directory ได้เพียงแค่ Read เท่านั้นไม่สามารถ แก้ไข หรือ อ่านได้

  • เช่นกัน กับ เลข 4 ( Other หรือ ใครๆก็ตาม )
    ใครก็ตาม สามารถ เข้าถึง File หรือ Directory ได้เพียงแค่ Read เท่านั้นไม่สามารถ แก้ไข หรือ อ่านได้


ยกตัวอย่าง

permision4

-rw-r--r--  1 jaedsada  staff  0 Jul 25 12:27 text1.txt

คือ File เป็น การกำหนด เป็น เลข 644 ก็คือOwner สามารถ Read และ Write File ได้ แต่ไม่สามารถ Execute ได้ และคนอื่นทำได้แค่ Read

ลองยกตัวอย่างเล่นๆ

  • กำหนด File text1.txt เป็น 744

permision6

ก็คือ เป็นการกำหนด ให้ Owner สามารถ ทำงาน ( Execute ) File นี้ได้

  • ลอง กำหนด File text1.txt เป็น 700

permision7

-rwx------  1 jaedsada  staff  0 Jul 25 12:27 text1.txt

จะเห็นได้ว่า ถ้าไม่ใช้ Owner คนอื่นจะไม่สามารถเข้าถึง File นี้ได้

  • ลอง กำหนด File text1.txt เป็น 755
    permision8
-rwxr-xr-x  1 jaedsada  staff  0 Jul 25 12:27 text1.txt

ในกรณีนี้จะเห็นได้ว่า มี x ( execute ) มาด้วย ก็เพราะ 5 -> 4 + 1 ซึ่งคือ Read + Execute

  • ลอง กำหนด File text1.txt เป็น 760

permision9

-rwxrw----  1 jaedsada  staff  0 Jul 25 12:27 text1.txt

จะเห็นได้ว่า เลขชุด Group เป็น r (Read) และ w (Write) นั้นมาจาก 6 -> 4 + 2 Read + Write ส่วน Other ที่ไม่มีอะไรขึ้นก็เพราะ เราไม่ได้กำหนดให้ชุด Other สามารถทำอะไรกับไฟล์นี้ได้ ( 0 )


เพิ่มเติม

permision9

drwxr-xr-x  14 jaedsada  staff   448 Jul 21 21:38 .
drwxr-xr-x  14 jaedsada  staff   448 Jul 21 21:38 ..

ตัว d เป็นการบอกว่า เป็น Directory

July 25, 2020