3 หลัก:
644
ugo (user group other)
4 หลัก:
0644
?ugo (??? user group other)
เลขฐานแปดแรกคืออะไรในรูปแบบเลขฐานสิบหกของระบบปฏิบัติการ Unix
3 หลัก:
644
ugo (user group other)
4 หลัก:
0644
?ugo (??? user group other)
เลขฐานแปดแรกคืออะไรในรูปแบบเลขฐานสิบหกของระบบปฏิบัติการ Unix
คำตอบ:
จากman chmod
:
โหมดตัวเลขมาจากตัวเลขฐานแปดถึงหนึ่งถึงสี่ (0-7) ซึ่งได้มาจากการเพิ่มบิตด้วยค่า 4, 2 และ 1 ตัวเลขที่ตัดออกใด ๆ จะถือว่าเป็นศูนย์นำหน้า ตัวเลขตัวแรกจะเลือก ID ผู้ใช้ชุด (4) และตั้งค่ากลุ่ม ID (2) และแอ็ตทริบิวต์เหนียว (1)
"set user ID", "set group ID" และ "sticky" คืออะไรคุณถาม?
setuid และ setgid (ย่อมาจาก "set user ID เมื่อเรียกใช้งาน" และ "set group ID เมื่อเรียกใช้งาน" ตามลำดับ) คือค่าสถานะการเข้าถึง Unix ที่อนุญาตให้ผู้ใช้เรียกใช้งานไฟล์ได้ด้วยสิทธิ์ของเจ้าของหรือกลุ่มของไฟล์ปฏิบัติการ พวกเขามักจะใช้เพื่อให้ผู้ใช้ในระบบคอมพิวเตอร์เพื่อเรียกใช้โปรแกรมที่มีสิทธิ์ยกระดับชั่วคราวเพื่อดำเนินงานที่เฉพาะเจาะจง แม้ว่าสิทธิ์ของ ID ผู้ใช้หรือรหัสกลุ่มที่ระบุจะไม่ได้รับการยกระดับเสมอไป
นอกจากนี้เมื่อนำไปใช้กับไดเรกทอรี setuid / setgid ทำให้เกิดไฟล์ใหม่ที่สร้างขึ้นในไดเรกทอรีเพื่อสืบทอด uid หรือ gid ตามลำดับของไดเรกทอรีหลัก พฤติกรรมนี้แตกต่างกันไปตามรสชาติของยูนิกซ์ ตัวอย่างเช่น linux ให้เกียรติ setgid แต่ไม่สนใจ setuid บนไดเรกทอรี
และเหนียว :
การใช้งานบิตที่พบบ่อยที่สุดในวันนี้อยู่ในไดเรกทอรี เมื่อตั้งค่า sticky bit เฉพาะเจ้าของรายการเจ้าของไดเรกทอรีหรือ superuser เท่านั้นที่สามารถเปลี่ยนชื่อหรือลบไฟล์ได้ หากไม่มีการตั้งค่าบิตเหนียวผู้ใช้ใด ๆ ที่มีสิทธิ์ในการเขียนและดำเนินการสำหรับไดเรกทอรีสามารถเปลี่ยนชื่อหรือลบไฟล์ที่มีอยู่โดยไม่คำนึงถึงเจ้าของ โดยทั่วไปแล้วจะมีการตั้งค่าไว้ในไดเรกทอรี / tmp เพื่อป้องกันผู้ใช้ทั่วไปจากการลบหรือย้ายไฟล์ของผู้ใช้รายอื่น
Setgid มีฟังก์ชั่นที่สำคัญอีกอย่างที่ฉันต้องพึ่งพาทุกวัน แต่ไม่รวมอยู่ในข้อความที่ตัดตอนมาของ Handyman5 (ข้อความอ้างอิงมาจากหน้าเดียวกันที่ลิงก์ด้านบน):
ธง setuid และ setgid เมื่อตั้งค่าในไดเรกทอรีมีความหมายที่แตกต่างกันอย่างสิ้นเชิง
การตั้งค่าการอนุญาต setgid ในไดเรกทอรี (chmod g + s) ทำให้ไฟล์และไดเรกทอรีย่อยใหม่สร้างขึ้นเพื่อรับรหัสกลุ่มแทนที่จะเป็น ID กลุ่มหลักของผู้ใช้ที่สร้างไฟล์ (ID เจ้าของไม่ได้รับผลกระทบเท่านั้น รหัสกลุ่ม) ไดเรกทอรีย่อยที่สร้างขึ้นใหม่สืบทอดบิต setgid
ดังนั้นสิ่งนี้ช่วยให้พื้นที่ทำงานที่ใช้ร่วมกันสำหรับกลุ่มโดยไม่มีความไม่สะดวกในการกำหนดให้สมาชิกกลุ่มเปลี่ยนกลุ่มปัจจุบันอย่างชัดเจนก่อนที่จะสร้างไฟล์หรือไดเรกทอรีใหม่ โปรดทราบว่าการตั้งค่าสิทธิ์ setgid ในไดเรกทอรีจะมีผลกับ ID กลุ่มของไฟล์ใหม่และไดเรกทอรีย่อยที่สร้างขึ้นหลังจาก setgid bit ถูกตั้งค่าและไม่ได้ใช้กับเอนทิตีที่มีอยู่ การตั้งค่าบิต setgid บนไดเรกทอรีย่อยที่มีอยู่จะต้องทำด้วยตนเองด้วยคำสั่งดังต่อไปนี้:
[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;
chmod g+s
จะหมายถึงการเพิ่ม 2 ที่ด้านหน้าของค่าฐานแปดทำให้ไดเรกทอรีที่มีสิทธิ์ 775 ( drwxrwxr-x
) เป็น 2775 ( drwxrwsr-x
)
นอกเหนือจากคำตอบอื่น ๆ แล้วผู้นำ 0 คือการประชุมที่ใช้ในการบอกตัวเลขเป็นฐานแปด ไม่จำเป็นต้องใช้ที่นี่เนื่องจากการอนุญาตให้ใช้ไฟล์จะแสดงเป็นเลขฐานแปดเสมอ แต่อาจเป็นอีกสาเหตุหนึ่งว่าทำไมจึงมีอยู่
ต่อไปนี้เป็นเครื่องคำนวณการอนุญาต Limux / Unix ที่ใช้งานง่ายเพื่อช่วยให้คุณทราบถึงการอนุญาตของไฟล์หรือไดเรกทอรี