การอนุญาตไดเรกทอรี 02777 ทำอะไร


1

พบรหัส PHP ต่อไปนี้วันนี้:

mkdir($directory, 02777);

chmod($directory, 02777);

ฉันเข้าใจ PHP แต่ไม่ใช่ส่วนแรกของตัวเลขเหล่านั้น ส่วนของ 777 นั้นชัดเจนและถ้าฉันเข้าใจถูกต้อง 0 ก็หมายความว่ามันเป็นเลขฐานแปด แต่ 2 ในนั้นทำอะไร

นอกจากนี้ถ้าฉันเปลี่ยนเป็น 02640 ทั้งสองจะยังคงทำอะไรหรือจะเปลี่ยนไปตามสิ่งที่เกิดขึ้นหลังจากนั้น

คำตอบ:


5

นี้หลักฐานแปดถูกสร้างขึ้นจากsetuid, setgidและstickyบิตซึ่งทั้งหมดนี้มีผลกระทบที่ซับซ้อนเปรียบเทียบ

การ2ตั้งsetgidค่าสถานะ เมื่อมีอยู่ในไดเรกทอรีไฟล์ทั้งหมดที่สร้างขึ้นภายในจะสืบทอดกลุ่มของมันแทนที่จะสร้างกลุ่มหลักของผู้ใช้

เพิ่มเติมเกี่ยวกับวิกิพีเดีย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.