เลขฐานแปด chmod แรกคืออะไรในค่าตัวเลขสี่หลักสำหรับ


40

บางครั้งฉันเห็นchmodคำสั่งที่ใช้เลขฐานแปดสี่หลักแทนที่จะเป็นสามหลัก - ตัวเลือกแรกคืออะไร ตัวอย่างเช่นchmod 777เทียบเท่ากับchmod a+rwx; คำสั่งเดียวกันchmod 2777คืออะไร


1
นี่เป็นคำถามที่ดีดังนั้นฉันพยายามที่จะพูดคุยกันเล็กน้อย
Michael Mrozek

3
'ตัวเลขแปดฐานแปด chmod' เป็นบิตสับสนตัวเลขที่เป็นปัญหาจริงเป็นครั้งแรกเมื่ออ่านจากซ้ายไปขวา
jsbillings

คำตอบ:


44

โปรดทราบว่าchmod 777 filenameเทียบเท่าchmod 0777 filenameในตัวอย่างนี้

ตัวเลขฐานแปดแรกจะกำหนดบิต setuid, setgid และ sticky (ดูบทความนี้สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ setuid / setgid) octal 2 หมายถึงการตั้งค่า ID กลุ่มในไฟล์ ดังนั้นเทียบเท่าจะทำแล้วchmod a+rwx filename หน้าข้อมูลไม่อธิบายเรื่องนี้ในรายละเอียดเพิ่มเติมchmod g+s filenamechmod


5
เกือบทุกการใช้งานของchmod (1)สามารถใช้เครื่องหมายจุลภาคในอาร์กิวเมนต์โหมดสัญลักษณ์ ดังนั้นเทียบเท่าของคุณ 2777 chmod a+rwx,g+s filenameสามารถทำได้ในหนึ่งคำสั่ง: หรืออย่างเคร่งครัดมากขึ้น (เป็นแน่ใจว่าได้ล้างบิต setuid chmod a=rwx,g+s filenameและเหนียวเป็นโหมดตัวเลขจะ):
Chris Johnsen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.