tigtools

Chmod Calculator

แปลงสิทธิ์ไฟล์ Unix ระหว่างช่องทำเครื่องหมาย เลขฐานแปด และสัญกรณ์ rwx รวมถึง setuid, setgid และ sticky bit

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

สิทธิ์สำหรับเจ้าของ กลุ่ม และผู้อื่น
ใครอ่านเขียนเรียกใช้ค่า
เจ้าของ (u)7
กลุ่ม (g)5
ผู้อื่น (o)5
บิตพิเศษ

ค่าที่ใช้บ่อย

คำสั่ง (ฐานแปด)

chmod 755 file

คำสั่ง (สัญลักษณ์)

chmod u=rwx,g=rx,o=rx file

ls -l แสดงไฟล์ปกติที่มีสิทธิ์เหล่านี้เป็น -rwxr-xr-x

วิธีใช้งาน

  1. ติ๊กช่อง อ่าน เขียน และเรียกใช้ สำหรับเจ้าของ กลุ่ม และผู้อื่น
  2. หรือพิมพ์ค่าเลขฐานแปด เช่น 640 หรือสตริงสัญลักษณ์ เช่น rw-r----- หรือ -rw-r----- ที่คัดลอกมาจาก ls -l
  3. เพิ่ม setuid, setgid หรือ sticky bit หากจำเป็น หรือเลือกค่าที่ใช้บ่อย
  4. ป้อนชื่อไฟล์และคัดลอกคำสั่ง chmod

วิธีการทำงาน

แต่ละคลาสจากสามคลาส (เจ้าของ, กลุ่ม, ผู้อื่น) มีสิทธิ์สามแบบ อ่านมีค่า 4 เขียนมีค่า 2 และ execute มีค่า 1 ผลรวมของสิทธิ์คือเลขฐานแปดหนึ่งหลัก ดังนั้น rwx = 7, r-x = 5 และ r-- = 4 เลขสามหลักประกอบเป็นโหมด เช่น 755 หมายถึง rwx สำหรับเจ้าของ และ r-x สำหรับกลุ่มและผู้อื่น

เลขหลักที่สี่ด้านหน้าเป็นตัวเลือกสำหรับเก็บบิตพิเศษ: 4 สำหรับ setuid, 2 สำหรับ setgid และ 1 สำหรับ sticky ในรูปแบบสัญลักษณ์ บิตพิเศษจะแทนที่ตำแหน่ง execute: s แทน setuid หรือ setgid และ t แทน sticky อักษร S หรือ T ตัวใหญ่หมายความว่าตั้งบิตพิเศษไว้แต่ไม่ได้ตั้ง execute ซึ่งมักเป็นความผิดพลาด

ช่องรูปแบบสัญลักษณ์รับอักขระเก้าตัว (rwxr-xr-x) หรือรูปแบบสิบตัวที่คำสั่ง ls -l แสดง โดยอักขระตัวแรกเป็นชนิดไฟล์ (- สำหรับไฟล์, d สำหรับไดเรกทอรี) และจะถูกละเว้นที่นี่ เครื่องหมาย . หรือ + ต่อท้ายจาก SELinux หรือ ACLs ก็ยอมรับเช่นกัน

ระบบจะแสดงคำสั่งสองแบบ: รูปแบบเลขฐานแปดซึ่งตั้งบิตทั้งหมดในครั้งเดียว และรูปแบบสัญลักษณ์ที่เทียบเท่า เช่น u=rwx,g=rx,o=rx ชื่อไฟล์ที่มีช่องว่างหรืออักขระพิเศษอื่นๆ จะถูกครอบด้วยเครื่องหมายคำพูดสำหรับเชลล์ ส่วน ~/ ที่ขึ้นต้นและไวลด์การ์ด * และ ? จะไม่ถูกครอบเพื่อให้เชลล์ขยายได้ ในกรณีของ GNU chmod การใช้โหมดฐานแปดกับไดเรกทอรีจะไม่ล้างบิต setuid หรือ setgid ที่ตั้งไว้อยู่แล้ว หากต้องการลบ ใช้รูปแบบสัญลักษณ์หรือโหมดห้าหลัก เช่น 00755

ตัวอย่าง

ไฟล์และโฟลเดอร์เว็บ

ไฟล์ที่เว็บเซิร์ฟเวอร์อ่านอย่างเดียว มักตั้งเป็น 644 (rw-r--r--) และไดเรกทอรีเป็น 755 (rwxr-xr-x) เพื่อให้เข้าและแสดงรายการได้

คีย์ SSH ส่วนตัว

SSH จะปฏิเสธคีย์ที่ผู้อื่นอ่านได้ ให้เลือกเฉพาะอ่านและเขียนสำหรับเจ้าของเพื่อให้ได้ 600 และคำสั่ง chmod 600 ~/.ssh/id_ed25519 (ใส่เส้นทางเป็นชื่อไฟล์)

ไดเรกทอรีอัปโหลดที่ใช้ร่วมกัน

ไดเรกทอรีแบบ /tmp ใช้ 1777 (rwxrwxrwt): ทุกคนสามารถสร้างไฟล์ได้ แต่ sticky bit จะป้องกันไม่ให้ผู้ใช้ลบไฟล์ของผู้อื่น

คำถามที่พบบ่อย

755 กับ 775 ต่างกันอย่างไร?

ด้วย 775 กลุ่มสามารถเขียนได้ด้วย (สร้าง แก้ไข และลบไฟล์ในไดเรกทอรี) ด้วย 755 เจ้าของเท่านั้นที่เขียนได้ กลุ่มและผู้ใช้อื่น ๆ อ่านและเรียกใช้ได้

ทำไมจึงควรหลีกเลี่ยง 777?

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

สำหรับไดเรกทอรี สิทธิ์เรียกใช้ (execute) หมายถึงอะไร?

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

เครื่องมือนี้เปลี่ยนแปลงสิทธิ์บนคอมพิวเตอร์ของฉันหรือไม่?

ไม่ เครื่องมือนี้คำนวณค่าและสร้างข้อความคำสั่งเท่านั้น คุณต้องรันคำสั่งด้วยตัวเองในเทอร์มินัล

ความเป็นส่วนตัว

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