ความหมายของ“ chmod 666” คืออะไร?


47

ฉันใช้ลีนุกซ์ ความหมายของchmod 666อะไร


28
อาคาคำสั่งของซาตาน
Moab

6
ถ้ารบกวนจิตใจที่คุณ (หรือถ้าคุณไม่ได้ใส่ใจที่จะจำตัวเลขเหล่านั้น) chmod a=rwคุณยังสามารถเขียนเป็น
starblue

คำสั่งที่ไร้ประโยชน์เนื่องจากการโต้แย้งครั้งที่สามไม่ได้รับ ^^
kokbira

นอกจากนี้ยังจะสามารถผลิตข้อบกพร่องการรักษาความปลอดภัย (ผู้ใช้ทุกคนสามารถเขียนไฟล์ / โฟลเดอร์) หรือไฟล์ที่ไร้ประโยชน์ / โฟลเดอร์สิทธิ์
kokbira

คำตอบ:


112

chmod คุณสมบัติการเปลี่ยนแปลงคำสั่งจากไฟล์ / โฟลเดอร์:

  • chmod 666 file/folder หมายความว่าผู้ใช้ทุกคนสามารถอ่านและเขียนได้ แต่ไม่สามารถเรียกใช้ไฟล์ / โฟลเดอร์ได้
  • chmod 777 file/folder อนุญาตการดำเนินการทั้งหมดสำหรับผู้ใช้ทั้งหมด
  • chmod 744 file/folderอนุญาตให้ผู้ใช้ (เจ้าของ) เท่านั้นที่จะทำการกระทำทั้งหมด; กลุ่มและผู้ใช้อื่น ๆ ได้รับอนุญาตให้อ่านได้เท่านั้น

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

หรือคุณสามารถดำเนินการคำสั่งด้วยไวยากรณ์ที่ใช้งานง่ายขึ้นโดยไม่จำเป็นต้องคิดในรูปแบบไบนารีหรือฐานแปด (แต่ความรู้เกี่ยวกับไวยากรณ์ตัวเลขนั้นสำคัญมาก): chmod u=rw, g=rw, o=rw file/folder

โปรดจำไว้ว่าการเปลี่ยนแปลงการอนุญาตด้วยchmodคำสั่งต้องมีอาร์กิวเมนต์อย่างน้อย 3 ข้อดังนั้นchmod 666ไม่ทำอะไรเลยหากไม่มีไฟล์ / โฟลเดอร์ที่ชัดเจนเพื่อเปลี่ยนการอนุญาต

นอกจากนี้ให้แน่ใจว่าได้วิพากษ์วิจารณ์ว่าหากไม่ได้สร้างปัญหาที่ไม่ปลอดภัยหรือเพียงแค่ว่ามันเป็นการเปลี่ยนแปลงสิทธิ์ที่ไร้ประโยชน์เพราะchmod 666จะอนุญาตให้เขียนไฟล์ / โฟลเดอร์ไปยังทุกคน


5
เฉพาะมันคือ "ฐานแปด" ไม่ใช่ "ทศนิยม" +1 อยู่ดี
Ben Voigt

1
จุดที่สามที่กล่าวถึงในโพสต์แรกไม่ถูกต้อง - chmod 711 อนุญาตให้เจ้าของเท่านั้นที่จะกระทำการทั้งหมดกลุ่มและอื่น ๆ ที่ได้รับอนุญาตเท่านั้นที่จะอ่าน! [ใส่คำอธิบายภาพที่นี่] [1] นี่คือตารางสำหรับ rwx สำหรับ octal rwx 000 001 010 011 100 101 110 111 Octal 001 หรือ 1 หมายถึงอนุญาตการดำเนินการ Octal 7, 111 หมายถึงอ่านเขียนและดำเนินการอนุญาตดังนั้น 711 หมายถึง, rwx สำหรับเจ้าของและ x สำหรับกลุ่มและอื่น ๆ

3
มันไปที่ 7 เท่านั้นดังนั้นจึงไม่มีความแตกต่างระหว่างเลขฐานแปดกับทศนิยมในกรณีนี้ : /
Rob

ใช่ @Yash และหลังจาก 1 ปี 2 เดือนและ 18 วันหลังจากโพสต์ต้นฉบับมีคนเห็นข้อผิดพลาดนั้น :) ฉันจะแก้ไขให้เป็น 744
kokbira

1
@KyleVassella ownerเป็นเจ้าของไฟล์หรือโฟลเดอร์โดยทั่วไปเป็นไฟล์ที่สร้างขึ้น groupคือกลุ่มของผู้ใช้ที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์นั้นโดยทั่วไปคือกลุ่มที่เป็นเจ้าของดังนั้นฉันคิดว่าฉัน rootbira และ groop ของฉันเป็น rootusers และคุณอยู่ในกลุ่มนั้นด้วยและสมาชิกกระดานสนทนา SU คนอื่น ๆ ทั้งหมดอยู่ในกลุ่มอื่น ถ้าฉันสร้างไฟล์และทำกับ chmod 750 ฉันจะอ่านเขียนและดำเนินการคุณจะอ่านและดำเนินการเท่านั้นและผู้ใช้ SU จะไม่ทำอะไรเลย - มันเป็นความลับของเรา¬¬
kokbira

7

พูดง่ายๆ: ทำให้ไฟล์อ่าน - และเขียนได้โดยเจ้าของไฟล์กลุ่มเจ้าของไฟล์และทุกคนใช้เครื่อง (ทั้งหมด) ใช้กับไดเรกทอรีทำให้ทุกคนสามารถอ่าน (รับรายการเนื้อหาไฟล์) ของไดเรกทอรีและเขียน (สร้าง, แก้ไขไฟล์ในไดเรกทอรี) แต่ไม่เรียกใช้ไฟล์จากไดเรกทอรี

สำหรับรายละเอียดเพิ่มเติมวิธีchmodการทำงานตรวจสอบนี้กวดวิชาที่มีประโยชน์


2
... คุณหมายถึงไม่อนุญาตให้ทุกคนอ่าน / เขียนไฟล์ แต่ไม่ดำเนินการและให้ทุกคนอ่าน / เขียนไฟล์ในไดเรกทอรี แต่ไม่แสดงรายการไฟล์ทั้งหมดหรือไม่
Earlz

2
สิ่งที่ @earlz พูดว่ารวมถึงการเขียน dir ไม่ได้หมายความว่าคุณสามารถแก้ไขไฟล์ที่นั่นได้ (เขียน perms ในไฟล์นั้น) แต่เพียงผู้เดียวหมายความว่าคุณสามารถสร้างรายการใหม่ได้ (dirs, ไฟล์, symlink ฯลฯ ) นอกจากนี้ยังเป็นเรื่องดีที่คุณจะพูดถึง dirs เพื่อความสมบูรณ์ แต่ 666 ไม่สมเหตุสมผลสำหรับ dir; คุณจะไม่กำจัด x ให้กับเจ้าของ
Rich Homolka

1
@Earlz: ขอบคุณสำหรับสิ่งนั้น ฉันมักจะลืมสิ่งที่ 666 ทำเพื่อ dirs เพราะดีฉันไม่เคยตั้งค่า rw- ​​สำหรับผู้ใช้บน dir :)
เอียนซี

7

ตามที่กล่าวไว้ในคำตอบอื่น ๆchmodหมายถึงโหมดการเปลี่ยนแปลง มันมีผลต่อสิทธิ์ในการอ่านเขียนและเรียกใช้งานได้สำหรับเจ้าของกลุ่มและหมวดหมู่อื่น ๆ ของผู้ใช้ หมายเลขที่ทำตามคำสั่ง (ในกรณีนี้ 666) ระบุว่าสิทธิ์เหล่านั้นถูกแก้ไขสำหรับไฟล์ที่คำสั่งทำงานอยู่ (สำหรับ 666 หมายความว่าเจ้าของกลุ่มและอื่น ๆ มีสิทธิ์อ่านและเขียน แต่ไม่มีสิทธิ์ในการปฏิบัติการ) .

ด้วยการเปลี่ยนตัวเลขเป็นค่าที่ต่างกันทำให้คุณเปลี่ยนการอนุญาตสำหรับไฟล์ได้อย่างมีประสิทธิภาพ ลิงก์ที่ฉันอ้างถึงข้างต้นมีเครื่องมือเล็กน้อยสำหรับการค้นหาว่าคุณต้องใส่ค่าใดเพื่อให้ได้รูปแบบสิทธิ์ที่คุณต้องการ นอกจากนี้ยังมีตัวเลือกสวิตช์ที่พร้อมใช้งานสำหรับคำสั่งและตัวอย่างบางส่วนเพื่อช่วยให้คุณเข้าใจได้ดีขึ้นว่าทำงานอย่างไร


1
นั่นคือเว็บไซต์ที่ดี มันเกิดขึ้นในที่คั่นหนังสือของฉัน ขอบคุณ!
Kirk

5

คำสั่ง chmod (ตัวย่อจากโหมดการเปลี่ยนแปลง) เป็นคำสั่ง Unix ที่ให้โอเปอเรเตอร์แจ้งให้ระบบทราบว่าการเข้าถึง (หรือน้อยกว่า) ควรอนุญาตให้ใช้ไฟล์เท่าใด คำสั่งchmod 666หมายความว่าผู้ใช้ทุกคนจะมีสิทธิ์อ่านและเขียน


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