สิทธิ์ของไฟล์ Linux – Chmod 777 คืออะไรและใช้งานอย่างไร
หากคุณเป็นผู้ใช้ Linux ใหม่(new Linux user)คุณอาจพบ คำสั่ง Chmodในช่วงต้น อาจมีบางคนบอกคุณให้ "chmod 777" เพื่อย้ายไฟล์ไปยังโฟลเดอร์บางโฟลเดอร์และได้ผล! คำสั่ง chmod ทำอะไรและตัวเลขหมายความว่าอย่างไร
บทความนี้จะกล่าวถึงทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการอนุญาตไฟล์Linux สิ่งสำคัญคือต้องรู้สิ่งนี้เพื่อทำความเข้าใจคำสั่ง chmod และตัวเลขที่สอดคล้องกับระดับการเข้าถึงบางระดับ ไม่ว่าคุณจะใช้Ubuntu , Fedora หรือLinux distro ที่แปลกใหม่ คุณควรเข้าใจเมื่อตั้งค่าการอนุญาตเป็น 777 โดยใช้ คำสั่ง CHMODและเมื่อใดที่คุณควรใช้การตั้งค่าอื่น
การอนุญาตไฟล์ Linux ทำงานอย่างไร
ในLinuxระบบปฏิบัติการจะกำหนดว่าใครสามารถเข้าถึงไฟล์บางไฟล์ตามการอนุญาตไฟล์ ความเป็นเจ้าของ และแอตทริบิวต์ ระบบอนุญาตให้คุณ เจ้าของหรือผู้ดูแลระบบ เปิดใช้งานการจำกัดการเข้าถึงไฟล์และไดเร็กทอรีต่างๆ คุณสามารถปรับปรุงความปลอดภัยของระบบโดยให้สิทธิ์การเข้าถึงแก่ผู้ใช้และโปรแกรมที่คุณไว้วางใจเท่านั้น
การทำความเข้าใจคลาสของผู้ใช้(Understanding User Classes)
ผู้ใช้เฉพาะและกลุ่มเป็นเจ้าของไฟล์และไดเร็กทอรีทุกไฟล์ ซึ่งหมายความว่ามีผู้ใช้สามประเภท(three categories of users)ที่คุณสามารถกำหนดระดับการเข้าถึงได้ ผู้ใช้เหล่านี้จัดประเภทดังนี้:
- เจ้าของ
- กลุ่ม
- คนอื่น
คุณสามารถดูกลุ่มเหล่านี้ได้ในUbuntuโดยคลิกขวาที่ไดเร็กทอรี เลือกPropertiesและไปที่แท็บPermissions
เจ้าของคือ(Owner)บุคคลที่มีอำนาจทั้งหมด โดยปกติพวกเขาจะมีสิทธิ์เข้าถึงทุกไฟล์และไดเร็กทอรีโดยสมบูรณ์ และสามารถเปลี่ยนการอนุญาตไฟล์ของผู้ใช้รายอื่นได้เช่นกัน
กลุ่ม ประกอบด้วย ผู้(Group)ใช้จำนวนหนึ่งที่มีระดับการเข้าถึงไฟล์หรือไดเรกทอรีที่กำหนดโดยเจ้าของ (Owner)ตัวอย่างเช่น กลุ่มผู้ใช้สามารถแยกออกจากการแก้ไขไฟล์ในขณะที่ได้รับสิทธิ์เข้าถึงเพื่อดูไฟล์นั้น
คลาสอื่น ๆ(Others) นั้น แสดงถึงผู้ใช้ทั่วไปที่ไม่อยู่ในอีกสองหมวดหมู่ โดยค่าเริ่มต้น ระดับการเข้าถึงมักจะถูกจำกัด เจ้าของ(Owner)จะ เป็นผู้ กำหนดว่าผู้ใช้ของแขกสามารถหรือไม่สามารถทำได้อย่างไร
ทำความเข้าใจระดับการอนุญาตไฟล์(Understanding File Permission Levels)
ในฐานะเจ้าของ(Owner)คุณสามารถกำหนดการเข้าถึงไฟล์และไดเร็กทอรีของคุณสามระดับ:
- อ่าน(Read) : ช่วยให้คุณเข้าถึงไฟล์หรือไดเร็กทอรีได้อย่างจำกัด สิ่งที่คุณทำได้คืออ่านไฟล์หรือดูเนื้อหาของไดเร็กทอรี คุณไม่สามารถแก้ไขไฟล์ และไม่สามารถลบหรือเพิ่มไฟล์ใหม่ลงในไดเร็กทอรีได้
- เขียน(Write) : ช่วยให้คุณอ่านและแก้ไขไฟล์ได้ หากคุณกำหนดระดับการเข้าถึงนี้ให้กับไดเร็กทอรี คุณยังสามารถลบหรือเพิ่มไฟล์ได้
- Execute : สำคัญเฉพาะเมื่อรันหรือรันไฟล์ ตัวอย่างเช่น คุณไม่สามารถเรียกใช้สคริปต์หรือโปรแกรมโดยไม่ได้รับอนุญาตให้ดำเนิน(Execute)การ
ด้วยการรวมคลาสและการอนุญาต คุณสามารถควบคุมจำนวนการเข้าถึงที่ผู้ใช้เฉพาะเจาะจงมีต่อไฟล์หรือไดเร็กทอรี
สัญลักษณ์การ(Symbols)อนุญาตและตัวเลข(Numbers)อธิบาย
สิทธิ์ของไฟล์จะแสดงเป็นตัวเลขหรือสัญลักษณ์ คุณสามารถใช้ทั้งสัญลักษณ์และตัวเลขเพื่อเปลี่ยนสิทธิ์ของไฟล์และไดเรกทอรี วิธีที่ง่ายที่สุดคือการใช้ตัวเลข แต่คุณควรเข้าใจสัญลักษณ์ด้วย มาดูสัญลักษณ์เบื้องหลังการอนุญาตไฟล์กันก่อน
สัญลักษณ์การอนุญาตไฟล์(File Permission Symbols)
คุณสามารถดูการอนุญาตของคุณสำหรับเนื้อหาทั้งหมดในไดเร็กทอรีบางตัวหากคุณพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล:
ลส -ล(ls -l)
คุณสามารถนำทางไปยังไดเร็กทอรีใดก็ได้โดยใช้คำสั่งcd หากคุณเป็นมือใหม่ ลองอ่านบทความของเราเกี่ยวกับ คำสั่งพื้นฐาน ของLinux(basic Linux commands)
ในตัวอย่างของเรา ไดเร็กทอรีประกอบด้วยไดเร็กทอรีอื่นสองไดเร็กทอรีและหนึ่งไฟล์ สิทธิ์ถูกเขียนโดยใช้ (1+) 9 สัญลักษณ์ที่สามารถแบ่งออกเป็นสามส่วนเพื่อให้เข้าใจได้ง่ายขึ้น มาตรวจสอบสิทธิ์ชุดแรกสำหรับ ไดเร็กทอรี หนังสือ(Books)กัน:
drwxrwxr-x
แบ่งให้อ่านง่าย:
d rwx rwx rx
สัญลักษณ์แรกคือdและหมายถึงไดเร็กทอรี นอกจากนี้ยังสามารถเป็นสัญลักษณ์ประหากเป็นไฟล์ ดังที่คุณเห็นในชุดสิทธิ์ที่สามสำหรับไฟล์Outline.docx
ต่อไป เรามีสัญลักษณ์สามกลุ่ม กลุ่มแรกแสดงถึงระดับการอนุญาตของเจ้าของ กลุ่มที่สองสำหรับ คลาส กลุ่ม(Group)และกลุ่มที่สามแสดงถึงผู้อื่น
สัญลักษณ์ 3 ชุดแต่ละชุด หมายถึง อ่าน เขียน ดำเนินการ ตามลำดับ ดังนั้นเจ้าของ(Owner)จึงได้รับอนุญาตให้อ่าน เขียน และดำเนินการไฟล์และไดเร็กทอรีทั้งหมดที่พบในไดเร็กทอรีทดสอบ (Test)นี่คือการแสดงภาพ:
เมื่อคุณเห็นสัญลักษณ์ขีดกลางแทน r, w หรือ x หมายความว่าไม่มีการอนุญาต
หมายเลขอนุญาตไฟล์(File Permission Numbers)
รูปแบบตัวเลขสำหรับการอนุญาตไฟล์นั้นง่าย โดยพื้นฐานแล้ว รหัสอนุญาตไฟล์มีสามหลัก:
- อันแรกสำหรับเจ้าของไฟล์
- อันที่สองแสดงถึงกลุ่มของไฟล์
- หลักสุดท้ายเป็นของคนอื่น
ตัวเลขมีตั้งแต่ 0 ถึง 7 โดยที่:
- 4 = อ่าน
- 2 = เขียน
- 1 = ดำเนินการ
- 0 = ไม่อนุญาต
ตัวเลขสิทธิ์ของแต่ละคลาสถูกกำหนดโดยการรวมค่าของการอนุญาต กล่าวอีกนัยหนึ่ง แต่ละหลักสำหรับแต่ละชั้นเรียนสามารถเป็นผลรวมของ 4, 2, 1 และ 0 ต่อไปนี้คือรายการสิทธิ์ทั้งหมด:
- 0 (0 + 0 + 0) = คลาสผู้ใช้ไม่มีสิทธิ์ใดๆ
- 1 (0 + 0 + 1) = ดำเนินการ(Execute)อนุญาตเท่านั้น
- 2 (0 + 2 + 0) = อนุญาตการ เขียน(Write)เท่านั้น
- 3 (0 + 2 + 1) = เขียน(Write)และดำเนินการอนุญาต
- 4 (4 + 0 + 0) = สิทธิ์ในการ อ่าน(Read)เท่านั้น
- 5 (4 + 0 + 1) = อ่าน(Read)และดำเนินการสิทธิ์
- 6 (4 + 2 + 0) = สิทธิ์ในการ อ่าน(Read)และเขียน
- 7 (4 + 2 + 1) = สิทธิ์ทั้งหมด
ตัวอย่างเช่น สิทธิ์ 644 หมายความว่าเจ้าของไฟล์มีสิทธิ์อ่านและเขียน ขณะที่อีก 2 คลาสมีสิทธิ์อ่านเท่านั้น การตั้งค่าการอนุญาตโดยใช้รูปแบบตัวเลขต้องใช้คณิตศาสตร์พื้นฐานเท่านั้น
การอนุญาต 777
อย่างที่คุณอาจเดาได้แล้วว่าการอนุญาต 777 ให้สิทธิ์ในการอ่าน เขียน และดำเนินการกับผู้ใช้ทั้งสามคลาส กล่าวคือ ทุกคนที่มีสิทธิ์เข้าถึงระบบของคุณสามารถอ่าน แก้ไข และเรียกใช้ไฟล์ได้ ใช้เฉพาะเมื่อคุณไว้วางใจผู้ใช้ทั้งหมดและไม่ต้องกังวลเรื่องการละเมิดความปลอดภัย
สิทธิ์ 777 ใช้บ่อยเพราะสะดวก แต่ควรใช้เท่าที่จำเป็น ที่จริงแล้ว เราขอแนะนำว่าอย่าใช้เลย เพราะความเสี่ยงด้านความปลอดภัยนั้นสูงเกินไป ผู้ใช้ที่ไม่ได้รับอนุญาตอาจบุกรุกระบบของคุณ หรือ ตัวอย่างเช่น เปลี่ยนเว็บไซต์ของคุณเพื่อเผยแพร่มัลแวร์
คุณควรให้สิทธิ์ 755 แทน ด้วยวิธีนี้ คุณในฐานะเจ้าของไฟล์จะสามารถเข้าถึงไฟล์หรือไดเร็กทอรีบางไฟล์ได้อย่างเต็มที่ ในขณะที่คนอื่นๆ ทุกคนสามารถอ่านและดำเนินการได้ แต่จะไม่ทำการแก้ไขใดๆ เว้นแต่จะได้รับอนุมัติจากคุณ
การแก้ไขการ อนุญาต ไฟล์(File)ด้วยChmod
คุณสามารถเปลี่ยนการอนุญาตไฟล์โดยใช้คำสั่ง chmod วิธีพื้นฐานที่สุดในการใช้คำสั่งนี้โดยไม่มีตัวแปรอื่น ๆ มีดังนี้:
chmod 777 ชื่อไฟล์(chmod 777 filename)
แทนที่ “(Replace “) filename” ด้วยชื่อไฟล์และเส้นทาง
โปรดทราบว่าผู้ใช้ที่มีอำนาจในการเปลี่ยนแปลงการอนุญาตไฟล์เท่านั้นคือผู้ใช้ที่มีสิทธิ์เข้าถึงรูท เจ้าของไฟล์ และใครก็ตามที่มีอำนาจsudo
Related posts
5 วิธีในการสำรองไฟล์อัตโนมัติใน Linux
ทำความเข้าใจเกี่ยวกับสิทธิ์ของ Linux และการใช้งาน chmod
เล่นเกมบน Ubuntu Linux – ดีไหม?
คำสั่ง Linux FIND พร้อมตัวอย่าง
5 เหตุผลดีๆ ที่ควรเลิกใช้ Windows สำหรับ Linux
7 วิธีในการ Zip และ Unzip ไฟล์ใน Linux
วิธีการนำทางและใช้โครงสร้างไดเร็กทอรีลินุกซ์
10 อันดับคำสั่ง Raspberry Pi Linux ที่คุณควรรู้
คู่มือ Ubuntu Linux สำหรับผู้เริ่มต้น
แสดงและซ่อนไอคอนเดสก์ท็อปใน GNOME Linux
กำหนดค่า Ubuntu ให้ไม่หรี่หรือปิดจอแสดงผลที่ไม่ใช้งาน
แปลงรูปภาพระหว่างรูปแบบผ่าน Command Line ใน Ubuntu
6 วิธีง่ายๆ ในการเพิ่มความเร็วการติดตั้ง Ubuntu ของคุณ
วิธีการตั้งค่าและกำหนดค่าไฟล์ TCP/IP บน Linux (การตั้งค่า TCP/IP สำหรับ Linux)
9 สุดยอด Linux Distros สำหรับการแฮ็ก
10 แป้นพิมพ์ลัดของ Ubuntu เพื่อเพิ่มความเร็วเวิร์กโฟลว์ของคุณ
วิธีการติดตั้งเครื่องพิมพ์เกือบทุกเครื่องบน Ubuntu
HDG อธิบาย : UNIX คืออะไร?
10 สุดยอดเครื่องบันทึกหน้าจอสำหรับ Linux
ค้นหาและเปลี่ยนชื่อโฮสต์ของคุณใน Ubuntu