เครื่องคำนวณ Chmod
คำนวณและแปลงสิทธิ์ Linux chmod อย่างสังหรณ์ใจ
Owner (User) - เจ้าของ
0Group - กลุ่ม
0Public (Others) - ผู้อื่น
0เกี่ยวกับ
การจัดการสิทธิ์ไฟล์และไดเรกทอรีในสภาพแวดล้อมคล้าย UNIX (Linux, macOS, Ubuntu เซิร์ฟเวอร์) อาจเป็นเรื่องน่าปวดหัวทางคณิตศาสตร์สำหรับนักพัฒนามือใหม่และผู้ดูแลระบบที่ช่ำชอง เมื่อใดก็ตามที่คุณจำเป็นต้องอนุญาตให้ผู้ใช้เรียกใช้ bash script, แก้ไขไฟล์ Web, หรือจำกัดการเข้าถึงคีย์ไดเรกทอรี SSH เครื่องมือนี้จะช่วยแสดงพารามิเตอร์ที่ถูกต้องให้เห็นภาพโดยปริยาย เพื่อหลีกเลี่ยงข้อผิดพลาดด้านความปลอดภัยที่อาจทำให้เซิร์ฟเวอร์พังได้
ทำเครื่องหมายในช่อง (อ่าน, เขียน, เรียกใช้) สำหรับเจ้าของ (Owner), กลุ่ม (Group), และผู้อื่น (Others) เพื่อรับรหัสฐานแปด (เช่น 755) หรือพิมพ์ตัวเลขโดยตรงเพื่อดูว่ามันเปิดใช้งานสิทธิ์ส่วนใดบ้าง
วิธีใช้
สิทธิ์ Linux มาตรฐานจะเขียนเป็นสตริงตัวเลข 3 หลัก
- หลักแรก: (เจ้าของ/ผู้ใช้) ผู้สร้างพื้นฐานของไฟล์ มักจะมีความสามารถสูงสุดเสมอ
(7). - หลักที่สอง: (กลุ่ม) ผู้ใช้งานร่วมที่ได้รับมอบหมายให้อยู่ในกลุ่มระบบที่ระบุ โดยทั่วไปจะจำกัดไว้แค่สิทธิ์ในการอ่าน
(5, 4). - หลักที่สาม: (ผู้อื่น/สาธารณะ) ทุกคนในโลกที่เหลือ รวมถึงผู้เยี่ยมชมที่ไม่ระบุตัวตนบนเว็บเซิร์ฟเวอร์ โปรดใช้ความระมัดระวังอย่างยิ่ง—การให้สิทธิ์การเขียน
(2)มีความเสี่ยงโดยธรรมชาติ.
คำศัพท์
- chmod
- คำสั่งที่ใช้ในสภาพแวดล้อม Linux และ Unix เพื่อเปลี่ยนสิทธิ์การเข้าถึงไฟล์หรือไดเรกทอรี สามารถระบุสิทธิ์โดยใช้ตัวเลข (ฐานแปด) หรือสัญลักษณ์
- สิทธิ์ (Permission)
- การตั้งค่าควบคุมการเข้าถึงสำหรับไฟล์หรือไดเรกทอรี ประกอบด้วยสามประเภท: "อ่าน (r)", "เขียน (w)", และ "เรียกใช้ (x)" ซึ่งกำหนดแยกกันสำหรับเจ้าของ กลุ่ม และผู้อื่น
- สัญลักษณ์ฐานแปด (Octal Notation)
- วิธีการแสดงสิทธิ์โดยใช้ตัวเลข 3 หลักจาก 0 ถึง 7 ตัวอย่างเช่น: 755 = rwxr-xr-x ตัวเลขแต่ละหลักคือผลรวมของ r=4, w=2, และ x=1
- สัญลักษณ์ (Symbolic Notation)
- วิธีการแสดงสิทธิ์โดยใช้สตริงเช่น "rwxr-xr-x" ซึ่งมนุษย์สามารถอ่านได้และช่วยให้เข้าใจถึงสิทธิ์ที่ได้รับได้โดยง่าย
- เจ้าของ (Owner)
- ผู้ใช้ที่สร้างหรือเป็นเจ้าของไฟล์ สิทธิ์สำหรับเจ้าของจะถูกกำหนดโดยตัวเลขหลักแรก (ซ้ายสุด) ในคำสั่ง chmod และมักจะมีสิทธิ์การเข้าถึงที่ครอบคลุมมากที่สุด
- กลุ่ม (Group)
- ชุดของผู้ใช้ที่แชร์กลุ่มระบบที่กำหนดให้กับไฟล์ สิทธิ์จะถูกกำหนดโดยตัวเลขหลักที่สองในคำสั่ง chmod การตั้งค่ากลุ่มที่เหมาะสมมีความสำคัญต่อการทำงานร่วมกันเป็นทีม
- ผู้อื่น (Others/Public)
- ผู้ใช้ทั้งหมดที่ไม่ใช่เจ้าของหรือสมาชิกกลุ่มของไฟล์ สิทธิ์จะถูกกำหนดโดยตัวเลขหลักที่สาม (ขวาสุด) เพื่อความปลอดภัย แนะนำให้จำกัดสิทธิ์เหล่านี้โดยทั่วไป
คำถามที่พบบ่อย
- Q.ผลการคำนวณจะถูกส่งไปยังเซิร์ฟเวอร์ของคุณหรือไม่?
- ไม่ การคำนวณทั้งหมดจะเสร็จสมบูรณ์ผ่าน JavaScript ภายในเบราว์เซอร์ของคุณ ค่าที่คุณป้อนและผลลัพธ์ที่สร้างขึ้นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ภายนอกใดๆ
- Q.755 กับ 644 ต่างกันอย่างไร?
- 755 (rwxr-xr-x) เป็นสิทธิ์ทั่วไปสำหรับไดเรกทอรีและสคริปต์ที่เรียกใช้ได้ โดยให้สิทธิ์เต็มรูปแบบแก่เจ้าของ และให้สิทธิ์ในการอ่าน/เรียกใช้แก่ผู้อื่น 644 (rw-r--r--) ใช้สำหรับไฟล์ทั่วไปเช่น HTML หรือ CSS ซึ่งเจ้าของเท่านั้นที่สามารถแก้ไขได้ และคนอื่นๆ สามารถอ่านได้อย่างเดียว
- Q.สิทธิ์ที่แนะนำสำหรับเว็บเซิร์ฟเวอร์คืออะไร?
- โดยทั่วไป ไดเรกทอรีควรตั้งเป็น 755 และไฟล์ควรตั้งเป็น 644 ไฟล์ที่เรียกใช้ได้เช่น CGI สคริปต์ควรเป็น 755 ในขณะที่ไฟล์คอนฟิกูเรชันที่ละเอียดอ่อน (เช่น .htaccess หรือการตั้งค่าฐานข้อมูล) ควรเก็บไว้ที่ 604 หรือ 600
- Q.จะเกิดอะไรขึ้นถ้าฉันตั้งสิทธิ์เป็น 777?
- เป็นการให้สิทธิ์อ่าน เขียน และเรียกใช้แก่ผู้ใช้ทุกคน (เจ้าของ, กลุ่ม, และผู้อื่น) อย่างเต็มรูปแบบ นี่เป็นความเสี่ยงด้านความปลอดภัยร้ายแรง และไม่ควรใช้ในสภาพแวดล้อมการผลิตเลย ใช้เฉพาะสำหรับการดีบักชั่วคราวในพื้นที่ที่แยกออกมาเท่านั้น
- Q.ฉันจะใช้คำสั่ง chmod ได้อย่างไร?
- ในเทอร์มินัลของคุณ คุณจะต้องรันคำสั่งเช่น
chmod 755 filenameหากต้องการนำการเปลี่ยนแปลงไปใช้กับไดเรกทอรีและเนื้อหาทั้งหมดอย่างครอบคลุม ให้ใช้chmod -R 755 directory_nameใช้เครื่องมือนี้เพื่อคำนวณค่าที่คุณต้องการก่อน - Q.ฉันสามารถใช้ chmod บน Windows ได้หรือไม่?
- Command line ดั้งเดิมของ Windows ไม่ใช้ chmod เนื่องจากใช้ระบบ ACL ที่ต่างออกไป อย่างไรก็ตาม คำสั่ง chmod จะมีผลภายในสภาพแวดล้อม WSL (Windows Subsystem for Linux) และ Git Bash ที่รันบน Windows
- Q.สิทธิ์พิเศษ (setuid, setgid, sticky bit) คืออะไร?
- นี่คือสิทธิ์พิเศษที่กำหนดโดยตัวเลขหลักที่ 4 ที่เป็นทางเลือก (วางไว้ด้านหน้า) 'setuid' (4) อนุญาตให้เรียกใช้โปรแกรมในฐานะเจ้าของไฟล์ 'setgid' (2) สืบทอดสิทธิ์ของกลุ่ม และ 'sticky bit' (1) จำกัดการลบไฟล์ในไดเรกทอรีที่ใช้ร่วมกัน
การตั้งค่ามาตรฐานที่แนะนำ
- 755 (rwxr-xr-x): ระดับการอนุญาตมาตรฐานสากลสำหรับ
ไดเรกทอรีทั่วไป (General Directories)และShell Scriptsเจ้าของควบคุมได้ทั้งหมด ในขณะที่คนอื่นๆ ได้รับอนุญาตให้ดึงข้อมูลได้ - 644 (rw-r--r--): เหมาะสำหรับปรับใช้กับ
ไฟล์และข้อความมาตรฐาน (.html, .php)การตัดสิทธิ์การเรียกใช้ออก ทำให้มั่นใจได้ว่าผู้โจมตีจะไม่สามารถเปิดโปรแกรมที่เป็นอันตรายซึ่งถูกแทรกเข้าไปในไฟล์ทั่วไปได้ - 600 (rw-------): ถูกบังคับใช้อย่างหนักโดยกลไก ssh เกี่ยวกับข้อมูลที่ละเอียดอ่อนเช่น คีย์ RSA ส่วนตัว (
.pem,.cert) ไม่อนุญาตให้ใครนอกจากเจ้าของ root อย่างแท้จริงในการดู - 777 (rwxrwxrwx):
อันตรายให้อิสระในการอ่าน เขียน ลบ และเรียกใช้แก่ทุกคนโดยไม่จำกัดพร้อมกัน มักจะกำหนดไว้สำหรับสภาพแวดล้อมแซนด์บ็อกซ์ที่แยกออกมา หรือถังขยะชั่วคราวเท่านั้น
ส่งความคิดเห็น
โปรดแจ้งให้เราทราบความคิดเห็นของคุณเพื่อช่วยปรับปรุงเครื่องมือ
การส่งความคิดเห็นถูกระงับชั่วคราว
เซิร์ฟเวอร์ไม่ว่างหรือระบบป้องกันสแปมทำงานอยู่ โปรดลองอีกครั้งในภายหลัง