Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

หากคุณเป็นผู้ใช้ Linux หรือผู้ดูแลระบบที่จัดการเซิร์ฟเวอร์ Linux คุณจะพบข้อผิดพลาด “คุณไม่มีสิทธิ์อัปโหลดไฟล์ไปยังโฟลเดอร์” หลังจาก Googling วิธีแก้ปัญหามักจะง่ายพอๆ กับการตั้งค่าการอนุญาตไฟล์เป็น “775” หรือ “777” ในด้านเทคนิค คุณจะถูกขอให้ "chmod 777 ไฟล์" แต่ “777” หมายถึงอะไร? แล้วทำไมต้องเป็น “7” ไม่ใช่ “8” หรือ “9”?

ในโพสต์นี้ เราจะแสดงให้คุณเห็นถึงวิธีทำความเข้าใจการอนุญาตของไฟล์ให้ดีขึ้นเล็กน้อย รวมถึงความหมายของ chmod 777

ทำความเข้าใจการอนุญาตไฟล์

ระบบ Unix (รวมถึง Linux และ macOS) มีกลไกการควบคุมไฟล์ที่กำหนดว่าใครสามารถเข้าถึงไฟล์หรือโฟลเดอร์ใดไฟล์หนึ่งได้ และพวกเขาสามารถทำอะไรกับมันได้บ้าง

มีสองส่วนที่ต้องพิจารณา:

ชั้นเรียน สิ่งนี้กำหนดว่าใครสามารถเข้าถึงไฟล์ได้ มีสามชื่อ:เจ้าของ กลุ่ม (ซึ่งทุกคนมีสิทธิ์เหมือนกัน) และอื่นๆ

  • เจ้าของมักจะเป็นผู้สร้างไฟล์หรือโฟลเดอร์ ใน Linux ไฟล์หรือโฟลเดอร์ใดๆ ที่คุณสร้างในไดเร็กทอรีโฮมมักเป็นของคุณ เว้นแต่คุณจะเปลี่ยนการเป็นเจ้าของโดยเฉพาะ
  • กลุ่มประกอบด้วยกลุ่มผู้ใช้ที่มีสิทธิ์และสิทธิ์ของผู้ใช้เหมือนกัน
  • อื่นๆ หมายถึง ประชาชนทั่วไป
การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

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

  • อ่าน คุณไม่สามารถแก้ไขเนื้อหาของไฟล์ในทางใดทางหนึ่ง เมื่อนำไปใช้กับโฟลเดอร์ คุณสามารถดูไฟล์ภายในโฟลเดอร์นั้นเท่านั้น คุณไม่สามารถลบหรือแก้ไขไฟล์ในทางใดทางหนึ่งหรือเพิ่มไฟล์ลงในโฟลเดอร์ได้
  • เขียน คุณสามารถแก้ไขไฟล์. หากคุณมีสิทธิ์ "เขียน" ในโฟลเดอร์ คุณจะลบและเพิ่มไฟล์ลงในโฟลเดอร์นั้นได้
  • ดำเนินการ ส่วนใหญ่ใช้ Execute เมื่อคุณต้องการเรียกใช้ไฟล์ และมักใช้เมื่อคุณต้องการเรียกใช้สคริปต์
การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

เมื่อใช้ Classes ร่วมกับ Permissions คุณจะควบคุมได้ว่าใครสามารถเข้าถึงไฟล์และดำเนินการใดได้บ้าง

เจ้าของไฟล์มักจะมีสิทธิ์ทั้งสาม (อ่าน เขียน และดำเนินการ) หากคุณไม่สามารถอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ได้ สาเหตุมักเกิดจากการอนุญาตที่ไม่ตรงกัน

อธิบายการอนุญาตไฟล์ 777

เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับคลาสและการอนุญาตแล้ว คุณจะเริ่มเข้าใจตัวเลข เช่น “777” และ “775” ได้

ทุกไฟล์และโฟลเดอร์มีข้อมูล 8 บิตที่ควบคุมการอนุญาต ในรูปแบบไบนารีพื้นฐาน 000 หมายความว่าไม่มีการอนุญาตรูปแบบใด ๆ

เมื่อคุณตั้งค่าการอนุญาต "อ่าน" ข้อมูลจะเพิ่ม 4 บิตลงในข้อมูล ทำให้เป็น "100" (ในรูปแบบไบนารี) หรือ "4" ในรูปแบบทศนิยมปกติ การตั้งค่าการอนุญาต "เขียน" จะเพิ่ม 2 บิตให้กับข้อมูล ทำให้เป็น "010" และ "2" ในรูปแบบทศนิยม สุดท้าย การตั้งค่าสิทธิ์ "ดำเนินการ" จะเพิ่ม 1 บิตให้กับข้อมูล ซึ่งจะส่งผลให้ "001" หรือ "1" อยู่ในรูปแบบทศนิยม กล่าวโดยย่อ:

  • การอ่านเทียบเท่ากับ “4”
  • เขียนเทียบเท่ากับ “2.”
  • ดำเนินการเทียบเท่ากับ “1”

โดยสรุป การตั้งค่าการอนุญาตเป็นคณิตศาสตร์พื้นฐาน ตัวอย่างเช่น ในการตั้งค่าการอนุญาต "อ่านและเขียน" เรารวม 4 และ 2 เข้าด้วยกันเพื่อให้ได้ 6 แน่นอนว่ามีการเรียงสับเปลี่ยนอื่นๆ:

  • 0: ไม่ได้รับอนุญาต
  • 1: ดำเนินการ
  • 2: เขียน
  • 3: เขียนและดำเนินการ
  • 4: อ่าน
  • 5: อ่านและดำเนินการ
  • 6: อ่านเขียน
  • 7: อ่าน เขียน และดำเนินการ

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

  • 755 . เว็บเซิร์ฟเวอร์มักใช้ชุดการอนุญาตนี้ เจ้าของมีสิทธิ์ทั้งหมดในการอ่าน เขียน และดำเนินการ คนอื่นๆ สามารถอ่านและดำเนินการได้ แต่ไม่สามารถเปลี่ยนแปลงไฟล์ได้
  • 644 . เจ้าของเท่านั้นที่สามารถอ่านและเขียนได้ ทุกคนสามารถอ่านได้เท่านั้น ไม่มีใครสามารถรันไฟล์นี้ได้
  • 655 . มีเพียงเจ้าของเท่านั้นที่สามารถอ่านและเขียนและไม่สามารถเรียกใช้ไฟล์ได้ คนอื่นๆ สามารถอ่านและดำเนินการได้ และไม่สามารถแก้ไขไฟล์ได้

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

การตั้งค่าการอนุญาตไฟล์ในบรรทัดคำสั่ง

ใน Linux คุณสามารถเปลี่ยนการอนุญาตไฟล์ได้อย่างง่ายดายโดยคลิกขวาที่ไฟล์หรือโฟลเดอร์แล้วเลือก "คุณสมบัติ" ซึ่งจะเปิดแท็บการอนุญาตซึ่งคุณสามารถเปลี่ยนแปลงได้

ในทางกลับกัน คุณสามารถเปลี่ยนการตั้งค่าการอนุญาตบน macOS ได้ด้วยการคลิกขวาและเลือก “รับข้อมูล” คุณจะขยายส่วน "การแชร์และสิทธิ์" และทำการเปลี่ยนแปลงได้ที่นี่

การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

หากต้องการแก้ไข ให้เลือกการอนุญาตที่เกี่ยวข้องจากส่วนสิทธิ์และเลือกสิ่งที่เหมาะสมกว่า

การทำความเข้าใจการอนุญาตไฟล์:“ Chmod 777” หมายถึงอะไร?

แม้ว่านี่ไม่ใช่วิธีเดียวที่คุณสามารถเปลี่ยนการอนุญาตไฟล์ได้ มาอธิบายรายละเอียดเพิ่มเติมกันต่อไป

การเปลี่ยนการอนุญาตไฟล์โดยใช้ chmod 777

หากคุณคุ้นเคยกับ Terminal และ Command Line มากขึ้น คุณสามารถเปลี่ยนการอนุญาตได้ที่นี่เช่นกัน

chmod คำสั่งให้คุณ "เปลี่ยนโหมด" - อีกวิธีหนึ่งในการอธิบายสิทธิ์การเข้าถึง ในการดำเนินการนี้ ให้เปิด Terminal และพิมพ์ดังต่อไปนี้:

chmod 777 /path/to/file

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

โดยย่อ

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

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

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