วันเสาร์ที่ ๗ มิถุนายน พ.ศ. ๒๕๕๑

CHMOD คืออะไร

เคยสงสัยหรือเปล่า ว่าทำไม CHMOD 644 CHMOD 755 CHMOD 777

นายโต้จะช่วยบอกให้ครับว่า chmod คืออะไร

Chmod มันย่อมาจาก change mode
Chmod คือการกำหนดหรือเปลี่ยนแปลงสิทธิในการจัดการกับแฟ้มหรือเปลี่ยนสิทธิ์ในการเข้าถึงไฟ ล์ พูดง่ายๆก้อคือ การ chmod ทำเพื่อเป็นการเซ็ตค่า permission สำหรับไฟล์ ว่าเราจะให้มันทำอะไรได้บ้าง เช่น chomd 755 คือ ไฟล์นี้เจ้าของสามารถทำได้ทุกอย่าง แต่ผู้ใช้ที่อยู่ในกลุ่มและผู้ใช้ทั่วไป สามารถ อ่านและ run ไฟล์นี้ได้เท่านั้น chmod 777 กำหนดให้ทั้ง 3 กลุ่ม เข้าถึงแฟ้มได้เต็มที่ 3 กลุ่ม
คือ
1. owner เจ้าของไฟล์
2. group ผู้ใช้ที่อยู่ในกลุ่มผู้ใช้เดียวกับเจ้าของไฟล์
3. other ผู้ใช้ทั่วไป เช่น ผู้ใช้งาน internet ที่เรียกใช้เว็บไซท์นั้น


CHMOD คืออะไร ก็คือค่า Permission หรือธิบาย ง่ายๆ สไตล์ นายกระดานดำ คือ ค่าของความมีสิทธิ์ในการเข้าถึงและใช้งาน File หรือ Directory นั้น ๆ ซึ่งจะมีค่าต่าง ๆ แบ่งเป็นตัวเลข 3 หลัก เช่น 644, 755, 777 เป็นต้น ในความหมายของเลขแต่ละหลักทั้ง 3 หลัก จะมีความหมายดังนี้

Execute คือ การสั่งให้ทำงาน Write คือ การเขียนFile หรือ Directory Read คือ การอ่าน File หรือ Directory
เลขในหลักแรก -> เจ้าของไฟล์/directory (Owner)

ตัวเลขในหลัแรก จะแสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของไฟล์ หรือ Dir นั้น ๆ ถ้า ตัวเลขหลักแรกเป็นเลข
4 จะหมายความว่า เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียว แต่ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 จะหมายความว่า เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 จะหมายความว่า เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)


เลขในหลักที่สอง -> ผู้ใช้กลุ่มเดียวกับเจ้าของไฟล์/directory (Group)

ตัวเลขในหลัแรก จะแสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของไฟล์ หรือ Dir นั้น ๆ ถ้า ตัวเลขหลักแรกเป็นเลข
4 จะหมายความว่า ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียว แต่ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 จะหมายความว่า ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group)ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 จะหมายความว่า ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)
(ดูค่าตามตาราง ประกอบ)

เลขในหลักที่สาม -> ผู้ใช้ในอื่น ๆ (Others)

ตัวเลขในหลัแรก จะแสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของไฟล์ หรือ Dir นั้น ๆ ถ้า ตัวเลขหลักแรกเป็นเลข
4 จะหมายความว่า ผู้ใช้ในอื่น ๆ มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียว แต่ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 จะหมายความว่า ผู้ใช้ในอื่น ๆ มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 จะหมายความว่า ผู้ใช้ในอื่น ๆ มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)
(ดูค่าตามตาราง ประกอบ)

ตัวอย่างเลข 777 จะหมายความว่า ผู้ใช้ในทุกกลุ่ม ไม่ว่าจะเป็นเจ้าของไฟล์ / กลุ่มเดียวกับเจ้าของ / ผู้ใช้อื่น ๆ ทุกกลุ่มที่กล่าวมา มีสิทธิ์ในการกระทำทุกสิ่งกับไฟล์ที่มีค่า CHMOD เป็น 777 เป็นต้น

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

ความหมายของตัวเลข chmod(UNIX) แต่ละตัวมีความหมายยังงี้นะครับ

0 หมายถึง ทำอะไรไม่ได้กับแฟ้มนั้นเลย
1 หมายถึง ประมวลผลอย่างเดียว
2 หมายถึง เขียนได้อย่างเดียว
3 หมายถึง เขียนและประมวลผลได้
4 หมายถึง อ่านได้อย่างเดียว
5 หมายถึง อ่านและประมวลผลได้
6 หมายถึง อ่านและเขียน แต่ประมวลผลไม่ได้
7 หมายถึง ทำได้ทุกอย่าง ทั้งอ่าน เขียน และประมวลผล

สำหรับการ chmod กับโปรแกรม ftp เราแค่คลิ๊กขวาที่ ไฟล์ หรือ โฟล์เดอร์ แล้วเลือก permission หรือ กำหนดสิทธิ์การใช้ งาน แล้วจะคลิ๊กตามช่อง เหลือใส่ค่าตัวเลขเอาก็แล้วแต่ถนัดนะครับ อย่าใส่เป็น 000 ล่ะกัน

ไม่มีความคิดเห็น: