| เลข (ฐานแปด) |
|---|
| เจ้าของเข้าถึงได้ทุกอย่าง กลุ่มและอื่น ๆ อ่านและประมวลผลได้ | chmod 755 script.sh |
| เจ้าของอ่านและเขียนได้ กลุ่มและอื่น ๆ อ่านอย่างเดียว | chmod 644 notes.txt |
| เฉพาะเจ้าของที่อ่านและเขียนได้ ผู้อื่นเข้าถึงไม่ได้ | chmod 600 ~/.ssh/id_rsa |
| เฉพาะเจ้าของที่เข้าถึงได้ทุกอย่าง ผู้อื่นเข้าถึงไม่ได้ | chmod 700 ~/.ssh |
| ทุกคนเข้าถึงได้ทุกอย่าง เป็นความเสี่ยงด้านความปลอดภัย | chmod 777 shared/ |
| ทุกคนอ่านและเขียนได้ ไม่มีบิตประมวลผล | chmod 666 log.txt |
| เจ้าของเข้าถึงได้ทุกอย่าง กลุ่มอ่านและประมวลผลได้ อื่น ๆ ไม่มีสิทธิ์ | chmod 750 app/ |
| ประมวลผลอย่างเดียวสำหรับทุกกลุ่ม ไดเรกทอรีผ่านเข้าไปได้แต่แสดงรายการไม่ได้ | chmod 111 dir/ |
| ไม่มีสิทธิ์สำหรับทุกกลุ่ม แต่ root ยังอ่านไฟล์ได้อยู่ | chmod 000 private.key |
| เจ้าของและกลุ่มเข้าถึงได้ทุกอย่างบวก setgid เป็นรูปแบบไดเรกทอรีแชร์ของทีม | chmod 2775 /srv/team |
| ผลลัพธ์ของ umask |
|---|
| มาสก์ปกติ ไฟล์ใหม่ได้ 644 ไดเรกทอรีใหม่ได้ 755 | umask 022 |
| มาสก์ส่วนตัว ไฟล์ใหม่ได้ 600 ไดเรกทอรีใหม่ได้ 700 | umask 077 |
| สัญลักษณ์ |
|---|
| เพิ่มสิทธิ์ประมวลผลให้เจ้าของ | chmod u+x deploy.sh |
| ลบสิทธิ์เขียนของกลุ่ม | chmod g-w config.yml |
| ลบสิทธิ์อ่านของผู้อื่น | chmod o-r secret.env |
| ตั้งเป็นอ่านอย่างเดียวสำหรับทุกกลุ่ม | chmod a=r readme.md |
| ให้สิทธิ์ทั้งหมดแก่ทุกกลุ่ม | chmod ugo+rwx public/ |
| บิตพิเศษ |
|---|
| ตั้งบิต setuid ไบนารีทำงานด้วยสิทธิ์ของเจ้าของไฟล์ | chmod 4755 /usr/bin/passwd |
| ตั้งบิต setgid ไฟล์และไดเรกทอรีย่อยใหม่สืบทอดกลุ่มของไดเรกทอรี | chmod 2755 /shared |
| ตั้งบิต sticky เฉพาะเจ้าของไฟล์เท่านั้นที่ลบได้ | chmod 1777 /tmp |
| บิต sticky บนไฟล์ปกติ เป็นคำแนะนำยุคเก่าให้เก็บใน swap ซึ่ง Linux ยุคใหม่ไม่สนใจ | chmod 1755 legacy.sh |
| คำสั่ง |
|---|
| เปลี่ยนบิตโหมดของไฟล์ | chmod 755 file |
| เปลี่ยนเจ้าของและกลุ่มของไฟล์ | chown user:group file |
| เปลี่ยนกลุ่มเจ้าของของไฟล์ | chgrp devs file |
| ตั้งมาสก์สิทธิ์เริ่มต้นสำหรับไฟล์ใหม่ | umask 022 |
| แสดงรายการไฟล์พร้อมสิทธิ์ในรูปแบบยาว | ls -l /etc |
| แสดงรายการ POSIX ACL ของไฟล์ | getfacl report.pdf |
| ตั้งค่าหรือแก้ไขรายการ POSIX ACL | setfacl -m u:alice:rw report.pdf |
| ค้นหาไฟล์ที่บิตสิทธิ์ตรงกับโหมดที่กำหนด | find / -perm /4000 |
| พิมพ์ข้อมูลเมตาของไฟล์ รวมถึงโหมดเลขฐานแปด | stat -c '%a %n' file |
| แสดงสิทธิ์ของทุกส่วนประกอบในเส้นทาง | namei -l /var/www/index.html |
| เปลี่ยนแอตทริบิวต์ของไฟล์ เช่น immutable | chattr +i /etc/resolv.conf |
| แสดงรายการแอตทริบิวต์ของไฟล์ | lsattr /etc/resolv.conf |
| แสดงความสามารถ (capability) ที่มอบให้ไฟล์ | getcap /usr/bin/ping |
| มอบความสามารถให้ไฟล์โดยไม่ต้องใช้ setuid | setcap 'cap_net_raw=+ep' /usr/bin/ping |
| แสดงความสามารถที่มีผลอยู่ในเชลล์ปัจจุบัน | capsh --print |
| แสดง user id, group id และกลุ่มที่ผู้ใช้สังกัด | id alice |
| แสดงรายการกลุ่มที่ผู้ใช้สังกัด | groups alice |
| รันคำสั่งในนามของผู้ใช้อื่นตามนโยบาย sudoers | sudo systemctl restart nginx |
| แก้ไขไฟล์ sudoers พร้อมการตรวจไวยากรณ์ | visudo |
| สลับไปยังบัญชีผู้ใช้อื่น | su - deploy |
| เปิดเชลล์ด้วยกลุ่มหลักที่ต่างออกไป | newgrp developers |