ใช้ chmod เพื่อ Alter หรือปรับเปลี่ยน File and Directory Permissions
ระบบปฏิบัติการยูนิกซ์และ Linux กำหนดสิทธิการเข้าถึงไฟล์และไดเร็กทอรีโดยใช้หนึ่งในสามประเภทของการเข้าถึง (อ่านเขียนและดำเนินการ) ที่กำหนดให้กับแต่ละกลุ่มสามกลุ่ม (เจ้าของกลุ่มและผู้ใช้รายอื่น)
ถ้าคุณแสดงรายการรายละเอียดของแอ็ตทริบิวต์ของไฟล์โดยใช้ คำ สั่ง ls ด้วยสวิตช์ -l (เช่น ls -l filename ) ระบบจะส่งกลับข้อมูลที่ดูเหมือนว่า -rw-rw-r-- ซึ่งเทียบเท่ากับการอ่านเขียนและ สิทธิ์การใช้งานสำหรับเจ้าของสิทธิ์ในการอ่านและเขียนสำหรับกลุ่มและอ่านสิทธิ์การเข้าถึงสำหรับผู้ใช้รายอื่นทั้งหมดเท่านั้น
สิทธิการเข้าถึงแต่ละประเภทมีค่าตัวเลขที่ระบุไว้ด้านล่าง:
- อ่าน = 4
- write = 2
- รัน = 1
ค่าสำหรับสิทธิ์การเข้าถึงสำหรับแต่ละกลุ่มจะถูกเพิ่มเข้าด้วยกันเพื่อให้ได้ค่าระหว่าง 0 ถึง 7 ซึ่งสามารถใช้เพื่อกำหนดหรือแก้ไขสิทธิ์โดยใช้คำสั่ง chmod (เปลี่ยนโหมด)
ในตัวอย่างข้างต้นสิทธิ์การเข้าถึงไฟล์ที่เป็นปัญหาสามารถกำหนดได้โดยป้อน ชื่อไฟล์ chmod 764 จำนวน 764 มาจาก:
- rwe = 4 (อ่าน) + 2 (เขียน) + 1 (รัน) = 7
- rw = 4 (อ่านแล้ว) + 2 (เขียน) = 6
- r = 4 (อ่าน) = 4
คุณสามารถใช้คำสั่ง chmod เพื่อกำหนดสิทธิการเข้าถึงไฟล์และไดเร็กทอรี โปรดจำไว้ว่าคำสั่งและชื่ออ็อบเจ็กต์ของ Unix และ Linux เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ คุณต้องใช้ " chmod " ไม่ใช่ CHMod หรือชุดตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ๆ
วิธีการใช้คำสั่ง chmod:
- การเข้าถึงแบบเต็มสำหรับทุกคน:
- ชื่อไฟล์ chmod 777
- สิทธิ์การเข้าถึงแบบเต็มสำหรับสิทธิ์การเป็นเจ้าของและกลุ่ม แต่ผู้ใช้รายอื่น ๆ สามารถอ่านและดำเนินการได้เท่านั้น:
- ชื่อไฟล์ chmod 775
- สิทธิ์การเข้าถึงแบบเต็มสำหรับเจ้าของ แต่ จำกัด สิทธิ์กลุ่มและสิทธิ์ผู้ใช้รายอื่นเพื่ออ่านและดำเนินการไฟล์ในไดเรกทอรีเท่านั้น:
- chmod 755 dirname
- สิทธิ์การเข้าถึงแบบเต็มสำหรับเจ้าของที่ไม่มีสิทธิ์การเข้าถึงหรือสิทธิพิเศษสำหรับบุคคลอื่น:
- ชื่อไฟล์ chmod 700
- ไม่มีการเข้าถึงไฟล์ในไดเร็กทอรีสำหรับกลุ่มหรือผู้ใช้รายอื่นและเจ้าของถูก จำกัด ให้อ่านและเรียกใช้สิทธิพิเศษเพื่อป้องกันการลบหรือแก้ไขไฟล์โดยไม่ได้ตั้งใจในไดเรกทอรี:
- chmod 500 dirname
- อนุญาตให้เจ้าของและกลุ่มอ่านและเขียนการเข้าถึงไฟล์ทำให้คนอื่น ๆ ในกลุ่มสามารถแก้ไขหรือลบไฟล์รวมทั้งเป็นเจ้าของได้ แต่ไม่สามารถเข้าถึงผู้ใช้รายอื่นได้:
- chmod 660 filename