สิทธิ์ของไฟล์ 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)คุณสามารถกำหนดการเข้าถึงไฟล์และไดเร็กทอรีของคุณสามระดับ:

  1. อ่าน(Read) : ช่วยให้คุณเข้าถึงไฟล์หรือไดเร็กทอรีได้อย่างจำกัด สิ่งที่คุณทำได้คืออ่านไฟล์หรือดูเนื้อหาของไดเร็กทอรี คุณไม่สามารถแก้ไขไฟล์ และไม่สามารถลบหรือเพิ่มไฟล์ใหม่ลงในไดเร็กทอรีได้
  2. เขียน(Write) : ช่วยให้คุณอ่านและแก้ไขไฟล์ได้ หากคุณกำหนดระดับการเข้าถึงนี้ให้กับไดเร็กทอรี คุณยังสามารถลบหรือเพิ่มไฟล์ได้
  3. 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



About the author

ฉันเป็นผู้ตรวจทานมืออาชีพและเพิ่มประสิทธิภาพการทำงาน ฉันชอบใช้เวลาออนไลน์เล่นวิดีโอเกม สำรวจสิ่งใหม่ ๆ และช่วยเหลือผู้คนเกี่ยวกับความต้องการด้านเทคโนโลยีของพวกเขา ฉันมีประสบการณ์กับ Xbox มาบ้างแล้วและได้ช่วยเหลือลูกค้าในการรักษาระบบของพวกเขาให้ปลอดภัยมาตั้งแต่ปี 2552



Related posts