ประเด็นสำคัญ
- 01ตัวเลขสามตัวตั้งค่าสิทธิ์สำหรับเจ้าของ กลุ่ม และคนอื่น ๆ ตามลำดับนั้น
- 02แต่ละหลักคือผลรวมของ read (4), write (2) และ execute (1) - ดังนั้น 7 = ทั้งสามอย่าง 5 = read + execute
- 03755 คือมาตรฐานสำหรับโฟลเดอร์และโปรแกรม 644 คือมาตรฐานสำหรับไฟล์ทั่วไป 777 เกือบทุกครั้งที่เป็นข้อผิดพลาด
ตัวเลขสามตัว ผู้ชมสามกลุ่ม
บน Linux และ macOS ไฟล์และโฟลเดอร์ทุกไฟล์มีสิทธิ์สำหรับสามกลุ่มคนแยกกัน จากซ้ายไปขวา ตัวเลขสามตัวในโหมดเช่น 755 ใช้กับ: เจ้าของ (ผู้ใช้ที่เป็นเจ้าของไฟล์) กลุ่ม (ชุดผู้ใช้ที่แชร์การเข้าถึง) และคนอื่น (คนอื่น ๆ ทั้งหมดในระบบ) ลำดับไม่เคยเปลี่ยน - เจ้าของ กลุ่ม คนอื่น
ดังนั้น 755 บอกว่า: ให้สิทธิ์ที่อธิบายโดย 7 แก่เจ้าของ ให้สิทธิ์ที่อธิบายโดย 5 แก่กลุ่ม และให้สิทธิ์ที่อธิบายโดย 5 แก่คนอื่น ๆ เพื่อเข้าใจทั้งหมด คุณต้องรู้เพียงว่าหลักเดียวหมายความว่าอะไร จากนั้นคุณอ่านกฎเดียวกันสามครั้ง
วิธีสร้างแต่ละหลัก: 4, 2, 1
แต่ละหลักคือผลรวมของค่าสูงสุดสามค่า การเข้าถึง Read มีค่า 4 การเข้าถึง write มีค่า 2 และการเข้าถึง execute มีค่า 1 บวกสิทธิ์ที่คุณต้องการเข้าด้วยกัน แล้วคุณจะได้หลักเดียวจาก 0 ถึง 7 เพราะ 4, 2 และ 1 เป็นยกกำลังของสอง ทุกชุดค่าผสมสร้างยอดรวมที่ไม่ซ้ำกัน - ไม่มีความคลุมเครือเลย
ทำงานผ่านหลัก 7: 4 (read) + 2 (write) + 1 (execute) = 7 ดังนั้น 7 ให้ทุกอย่าง หลัก 5 คือ 4 (read) + 1 (execute) = 5 ซึ่งให้สิทธิ์ read และ execute แต่ไม่ write หลัก 6 คือ 4 + 2 = 6: read และ write แต่ไม่ execute หลัก 4 เป็น read-only หลัก 0 ไม่ให้สิทธิ์อะไรเลย
นำไปใช้กับ 755 ที่คลี่ออกมา: เจ้าของได้ 7 (read, write, execute - ควบคุมเต็มที่) ในขณะที่กลุ่มและคนอื่นแต่ละคนได้ 5 (read และ execute แต่ไม่มีความสามารถในการเปลี่ยนไฟล์) นี่คือสิ่งที่คุณต้องการสำหรับโปรแกรมหรือโฟลเดอร์ที่คนอื่นควรสามารถใช้ได้ แต่ไม่ควรปรับเปลี่ยน
โหมดสิทธิ์ที่คุณจะใช้จริง ๆ
เกือบทั้งหมดของงานในแต่ละวันลดลงเหลือเพียงโหมดหมัด นี่คือสิ่งที่แต่ละโหมดหมายความว่าและเมื่อใดที่ควรใช้
- 01755 = rwxr-xr-x - เจ้าของสามารถอ่าน เขียน และรัน คนอื่นสามารถอ่านและรัน มาตรฐานสำหรับโฟลเดอร์ สคริปต์ และไฟล์ที่รันได้
- 02644 = rw-r--r-- - เจ้าของสามารถอ่านและเขียน คนอื่นสามารถอ่านได้เท่านั้น มาตรฐานสำหรับไฟล์ทั่วไปเช่น HTML ข้อความ และรูปภาพ
- 03700 = rwx------ - เจ้าของมีการควบคุมเต็มที่ ไม่มีใครสามารถมองเห็นได้ ใช้สำหรับโฟลเดอร์ส่วนตัวและสคริปต์ส่วนตัว
- 04600 = rw------- - เจ้าของสามารถอ่านและเขียน คนอื่นถูกล็อก ใช้ได้สำหรับคีย์ส่วนตัวและไฟล์การกำหนดค่าที่มีความลับ
- 05775 = rwxrwxr-x - เจ้าของและกลุ่มสามารถเขียน คนอื่นสามารถอ่านและรัน ธรรมชาติสำหรับไดเรกทอรีโครงการที่แชร์
- 06777 = rwxrwxrwx - ทุกคนสามารถทำทุกอย่างได้ สัญญาณเตือนความปลอดภัย เกือบไม่เคยเป็นคำตอบที่ถูกต้อง
วิธีหาค่า chmod
แทนที่จะจำอักษร octal ให้อธิบายการเข้าถึงที่คุณต้องการและให้เครื่องคิดเลขสร้างตัวเลขและสตริง rwx
- 01
เปิดเครื่องคิดเลข chmod
ไปที่เครื่องคิดเลข chmod ของ Handytool มันทำงานทั้งหมดในเบราว์เซอร์ของคุณ
- 02
ทำให้ช่องถูกต้อง
ตรวจสอบ read, write หรือ execute สำหรับเจ้าของ กลุ่ม และคนอื่นโดยอิงจากว่าใครควรสามารถทำอะไร
- 03
อ่านผลลัพธ์
เครื่องมือแสดงโหมดตัวเลข (เช่น 755) และสตริงสัญลักษณ์ (เช่น rwxr-xr-x) เคียงข้างกัน เพื่อให้คุณสามารถคัดลอกสิ่งใดก็ตามที่คำสั่งของคุณต้องการ
- 04
คัดลอกคำสั่ง
จับคำสั่ง chmod ที่พร้อมแล้วและวางลงในเทอร์มินัลของคุณเพื่อนำไปใช้สิทธิ์
การจับที่หนึ่ง: execute มีความหมายต่างกัน
บนไฟล์ บิต execute หมายความว่า "สิ่งนี้สามารถรันเป็นโปรแกรม" ในโฟลเดอร์ execute หมายความว่าบางสิ่งแตกต่างกัน: "คุณได้รับอนุญาตให้เข้าไดเรกทอรีนี้และเข้าถึงสิ่งที่อยู่ข้างใน" นั่นเป็นเหตุผลว่าทำไมโฟลเดอร์จึงปกติได้ 755 แทน 644 - หากไม่มีบิต execute คุณสามารถแสดงชื่อโฟลเดอร์ได้ แต่ไม่สามารถเปิดหรือเข้าถึงไฟล์ภายใน
นี่คือเหตุผลที่โฟลเดอร์ที่อัปโหลดใหม่เต็มไปด้วยไฟล์ที่อ่านได้ยังคงสามารถโยน "permission denied" สามารถอ่าน 644 ได้ แต่หากโฟลเดอร์นั้นไม่มีบิต execute สำหรับกลุ่มหรือคนอื่น ไม่มีใครสามารถผ่านเข้ามาได้ ตั้งค่าไดเรกทอรีเป็น 755 และเนื้อหาเป็น 644 และปริศนาเหล่านี้ส่วนใหญ่จะหายไป
chmod FAQ
chmod 755 หมายความว่าอะไร?
มันให้สิทธิ์การอ่าน เขียน และรันเต็มที่แก่เจ้าของ (7) และให้สิทธิ์การอ่านและรันเท่านั้นแก่กลุ่มและคนอื่น (5 และ 5) นี่คือโหมดมาตรฐานสำหรับโฟลเดอร์ สคริปต์ และโปรแกรมที่คนอื่นควรสามารถใช้ได้ แต่ไม่ควรเปลี่ยน
ความแตกต่างระหว่าง 755 และ 644 คืออะไร?
755 รวมบิต execute ดังนั้นไฟล์สามารถรันได้และโฟลเดอร์สามารถป้อนได้ 644 ไม่มีบิต execute - มันอ่านและเขียนสำหรับเจ้าของ อ่านเท่านั้นสำหรับคนอื่น ซึ่งเหมาะสำหรับไฟล์ข้อมูลทั่วไป
chmod 777 ปลอดภัยหรือไม่?
ไม่ค่อย มันให้ผู้ใช้และกระบวนการทุกตัวอ่าน ปรับเปลี่ยน และแทนที่ไฟล์ ซึ่งเป็นความเสี่ยงด้านความปลอดภัยบนระบบที่แชร์ใด ๆ ชอบโหมดที่แคบที่สุดที่แก้ปัญหา โดยปกติ 755 หรือ 644
ฉันจะอ่านโหมดเช่น rwxr-xr-x ได้อย่างไร?
อ่านเป็นสามกลุ่มสามตัว: rwx (เจ้าของ) r-x (กลุ่ม) r-x (คนอื่น) ตัวอักษรหมายความว่าสิทธิ์ได้รับอนุญาต ขีดหมายความว่าไม่ได้ rwxr-xr-x เป็นรูปแบบสัญลักษณ์ของ 755