Skip to content

สิทธิ์ไฟล์ใน Linux อธิบาย

โหมดเลขฐานแปดและโหมดสัญลักษณ์ของ chmod พร้อมบิต setuid, setgid และ sticky

ทุกไฟล์มีสามกลุ่มผู้ใช้: เจ้าของ กลุ่ม และอื่น ๆ แต่ละกลุ่มมาจากผลรวมของสามบิต: อ่านคือ 4 เขียนคือ 2 ประมวลผลคือ 1 ตัวเลขฐานแปดสามหลักก็คือโหมดสิทธิ์

ตารางอ้างอิง · 42 รายการ
42 of 42 rows
เลข (ฐานแปด)
เจ้าของเข้าถึงได้ทุกอย่าง กลุ่มและอื่น ๆ อ่านและประมวลผลได้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 ไดเรกทอรีใหม่ได้ 755umask 022
มาสก์ส่วนตัว ไฟล์ใหม่ได้ 600 ไดเรกทอรีใหม่ได้ 700umask 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 ACLsetfacl -m u:alice:rw report.pdf
ค้นหาไฟล์ที่บิตสิทธิ์ตรงกับโหมดที่กำหนดfind / -perm /4000
พิมพ์ข้อมูลเมตาของไฟล์ รวมถึงโหมดเลขฐานแปดstat -c '%a %n' file
แสดงสิทธิ์ของทุกส่วนประกอบในเส้นทางnamei -l /var/www/index.html
เปลี่ยนแอตทริบิวต์ของไฟล์ เช่น immutablechattr +i /etc/resolv.conf
แสดงรายการแอตทริบิวต์ของไฟล์lsattr /etc/resolv.conf
แสดงความสามารถ (capability) ที่มอบให้ไฟล์getcap /usr/bin/ping
มอบความสามารถให้ไฟล์โดยไม่ต้องใช้ setuidsetcap 'cap_net_raw=+ep' /usr/bin/ping
แสดงความสามารถที่มีผลอยู่ในเชลล์ปัจจุบันcapsh --print
แสดง user id, group id และกลุ่มที่ผู้ใช้สังกัดid alice
แสดงรายการกลุ่มที่ผู้ใช้สังกัดgroups alice
รันคำสั่งในนามของผู้ใช้อื่นตามนโยบาย sudoerssudo systemctl restart nginx
แก้ไขไฟล์ sudoers พร้อมการตรวจไวยากรณ์visudo
สลับไปยังบัญชีผู้ใช้อื่นsu - deploy
เปิดเชลล์ด้วยกลุ่มหลักที่ต่างออกไปnewgrp developers