วิธีใช้งาน
- ติ๊กช่อง อ่าน เขียน และเรียกใช้ สำหรับเจ้าของ กลุ่ม และผู้อื่น
- หรือพิมพ์ค่าเลขฐานแปด เช่น 640 หรือสตริงสัญลักษณ์ เช่น rw-r----- หรือ -rw-r----- ที่คัดลอกมาจาก ls -l
- เพิ่ม setuid, setgid หรือ sticky bit หากจำเป็น หรือเลือกค่าที่ใช้บ่อย
- ป้อนชื่อไฟล์และคัดลอกคำสั่ง chmod
วิธีการทำงาน
แต่ละคลาสจากสามคลาส (เจ้าของ, กลุ่ม, ผู้อื่น) มีสิทธิ์สามแบบ อ่านมีค่า 4 เขียนมีค่า 2 และ execute มีค่า 1 ผลรวมของสิทธิ์คือเลขฐานแปดหนึ่งหลัก ดังนั้น rwx = 7, r-x = 5 และ r-- = 4 เลขสามหลักประกอบเป็นโหมด เช่น 755 หมายถึง rwx สำหรับเจ้าของ และ r-x สำหรับกลุ่มและผู้อื่น
เลขหลักที่สี่ด้านหน้าเป็นตัวเลือกสำหรับเก็บบิตพิเศษ: 4 สำหรับ setuid, 2 สำหรับ setgid และ 1 สำหรับ sticky ในรูปแบบสัญลักษณ์ บิตพิเศษจะแทนที่ตำแหน่ง execute: s แทน setuid หรือ setgid และ t แทน sticky อักษร S หรือ T ตัวใหญ่หมายความว่าตั้งบิตพิเศษไว้แต่ไม่ได้ตั้ง execute ซึ่งมักเป็นความผิดพลาด
ช่องรูปแบบสัญลักษณ์รับอักขระเก้าตัว (rwxr-xr-x) หรือรูปแบบสิบตัวที่คำสั่ง ls -l แสดง โดยอักขระตัวแรกเป็นชนิดไฟล์ (- สำหรับไฟล์, d สำหรับไดเรกทอรี) และจะถูกละเว้นที่นี่ เครื่องหมาย . หรือ + ต่อท้ายจาก SELinux หรือ ACLs ก็ยอมรับเช่นกัน
ระบบจะแสดงคำสั่งสองแบบ: รูปแบบเลขฐานแปดซึ่งตั้งบิตทั้งหมดในครั้งเดียว และรูปแบบสัญลักษณ์ที่เทียบเท่า เช่น u=rwx,g=rx,o=rx ชื่อไฟล์ที่มีช่องว่างหรืออักขระพิเศษอื่นๆ จะถูกครอบด้วยเครื่องหมายคำพูดสำหรับเชลล์ ส่วน ~/ ที่ขึ้นต้นและไวลด์การ์ด * และ ? จะไม่ถูกครอบเพื่อให้เชลล์ขยายได้ ในกรณีของ GNU chmod การใช้โหมดฐานแปดกับไดเรกทอรีจะไม่ล้างบิต setuid หรือ setgid ที่ตั้งไว้อยู่แล้ว หากต้องการลบ ใช้รูปแบบสัญลักษณ์หรือโหมดห้าหลัก เช่น 00755
ตัวอย่าง
ไฟล์และโฟลเดอร์เว็บ
ไฟล์ที่เว็บเซิร์ฟเวอร์อ่านอย่างเดียว มักตั้งเป็น 644 (rw-r--r--) และไดเรกทอรีเป็น 755 (rwxr-xr-x) เพื่อให้เข้าและแสดงรายการได้
คีย์ SSH ส่วนตัว
SSH จะปฏิเสธคีย์ที่ผู้อื่นอ่านได้ ให้เลือกเฉพาะอ่านและเขียนสำหรับเจ้าของเพื่อให้ได้ 600 และคำสั่ง chmod 600 ~/.ssh/id_ed25519 (ใส่เส้นทางเป็นชื่อไฟล์)
ไดเรกทอรีอัปโหลดที่ใช้ร่วมกัน
ไดเรกทอรีแบบ /tmp ใช้ 1777 (rwxrwxrwt): ทุกคนสามารถสร้างไฟล์ได้ แต่ sticky bit จะป้องกันไม่ให้ผู้ใช้ลบไฟล์ของผู้อื่น
คำถามที่พบบ่อย
755 กับ 775 ต่างกันอย่างไร?
ด้วย 775 กลุ่มสามารถเขียนได้ด้วย (สร้าง แก้ไข และลบไฟล์ในไดเรกทอรี) ด้วย 755 เจ้าของเท่านั้นที่เขียนได้ กลุ่มและผู้ใช้อื่น ๆ อ่านและเรียกใช้ได้
ทำไมจึงควรหลีกเลี่ยง 777?
777 ทำให้ผู้ใช้ทุกคนในระบบสามารถแก้ไขหรือแทนที่ไฟล์ได้ บนเว็บเซิร์ฟเวอร์ อาจทำให้บัญชีอื่นหรือกระบวนการที่ถูกโจมตีแทรกโค้ดได้ ควรให้สิทธิ์เขียนเฉพาะเจ้าของหรือกลุ่มที่กำหนดเท่านั้น
สำหรับไดเรกทอรี สิทธิ์เรียกใช้ (execute) หมายถึงอะไร?
สำหรับไดเรกทอรี สิทธิ์เรียกใช้ (x) หมายถึงสิทธิ์ในการเข้าไปในไดเรกทอรีและเข้าถึงไฟล์ภายใน สิทธิ์อ่านอย่างเดียวทำให้คุณเห็นชื่อไฟล์ได้แต่ไม่สามารถเปิดไฟล์ได้
เครื่องมือนี้เปลี่ยนแปลงสิทธิ์บนคอมพิวเตอร์ของฉันหรือไม่?
ไม่ เครื่องมือนี้คำนวณค่าและสร้างข้อความคำสั่งเท่านั้น คุณต้องรันคำสั่งด้วยตัวเองในเทอร์มินัล
ความเป็นส่วนตัว
ทุกอย่างถูกคำนวณในเบราว์เซอร์ของคุณ ชื่อไฟล์ที่คุณพิมพ์จะไม่ถูกส่งไปที่ใด ไม่ถูกจัดเก็บ หรือรวมอยู่ในข้อมูลวิเคราะห์