Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

chmod 777 คืออะไรและทำอะไรใน Linux?

บทความนี้สำรวจ chmod 777 ซึ่งเป็นคำสั่ง Linux ที่ใช้เพื่อให้สิทธิ์ทั้งหมดแก่ผู้ใช้ กลุ่ม และอื่นๆ

ในฐานะผู้ใช้ Linux ใหม่ นักพัฒนาเว็บ หรือผู้ดูแลระบบ คุณอาจได้รับคำแนะนำให้พิมพ์:

chmod 777 /path/to/file/or/folder

…ลงในเชลล์ Linux ของคุณในบางจุด

เมื่อใดก็ตามที่คุณเรียกใช้คำสั่งบนระบบของคุณ (โดยเฉพาะอย่างยิ่งในฐานะรูท!) คุณควรรู้ว่าคำสั่งเหล่านี้ทำอะไรอยู่ แล้วอะไรคือ chmod 777 เกี่ยวกับ?

การอนุญาตใน Linux

chmod 777 คืออะไรและทำอะไรใน Linux?

ls – l คำสั่ง

ด้านบนเป็นตัวอย่างของการรัน:

ls -l

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

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

คอลัมน์ที่หนึ่ง สาม และสี่มีข้อมูลที่เกี่ยวข้องกับการอนุญาต ซึ่งจะกล่าวถึงในบทความนี้

โฟลเดอร์ที่แสดงในภาพหน้าจออยู่ใน linuxscrew โฮมไดเร็กตอรี่ของผู้ใช้ และทุกคนมีสิทธิ์

drwxr-xr-x 

กับทั้งเจ้าของ และ กลุ่ม ของผู้ใช้ linuxscrew ที่เป็นเจ้าของ

drwxr-xr-x มีข้อมูล 4 ชิ้น 3 ชิ้นเกี่ยวกับการอนุญาต:

d rwx r-x r-x
นี่คือไดเร็กทอรี เจ้าของสามารถ อ่าน เขียน ดำเนินการ กลุ่มสามารถ อ่าน ดำเนินการ คนอื่นสามารถ อ่าน ดำเนินการ
  • อักษรตัวแรกแสดงประเภทของไฟล์ – ถ้าเป็น d มันคือไดเร็กทอรี ถ้าเป็น  เป็นไฟล์ธรรมดา
  • อักขระที่ 2-4 มีการอนุญาตสำหรับผู้ใช้
  • อักขระที่ 5-7 มีการอนุญาตสำหรับกลุ่ม
  • อักขระที่ 8-10 มีการอนุญาตสำหรับ อื่นๆ

ตัวอักษรในแต่ละช่องมีความหมายดังต่อไปนี้:

  • ‘-‘ ถูกปฏิเสธ
  • ‘r’ สิทธิ์ในการอ่าน
  • ‘w’ ขออนุญาติเขียน
  • ‘x’ ดำเนินการอนุญาต

นอกจากนี้ยังมีค่าพิเศษบางอย่างที่อักขระ eXecute สามารถรับได้:

  • ของ’ setuid บิตที่พบใน ผู้ใช้ หรือ กลุ่ม สิทธิ์ที่ผู้ใช้สามารถเรียกใช้ไฟล์ได้จะดำเนินการโดยใช้สิทธิ์ของเจ้าของไฟล์และ/หรือกลุ่มของไฟล์ หมายความว่า x ถูกตั้งค่าทำให้ไฟล์ปฏิบัติการได้
  • ‘ส’ เช่นเดียวกับ ของ’ แต่ไฟล์ไม่สามารถดำเนินการได้
  • ‘t’ เหนียวหนึบ พบได้ใน อื่นๆ สิทธิ์ทำให้ไฟล์เหนียว – เฉพาะเจ้าของเท่านั้นที่สามารถเปลี่ยนชื่อหรือลบไฟล์หรือไฟล์ภายใน กลุ่มและอื่น ๆ ไม่ได้! นอกจากนี้ยังหมายความว่า x ถูกตั้งค่าทำให้ไฟล์ปฏิบัติการได้
  • 'T' เช่นเดียวกับ ‘t’ แต่ไฟล์ไม่สามารถดำเนินการได้

เพื่อความสมบูรณ์ ไฟล์ประเภทต่างๆ สามารถใช้พื้นที่อักขระแรกได้:

  • ‘-‘ ไฟล์ปกติ
  • ‘b’ บล็อกไฟล์พิเศษ
  • ‘c’ ไฟล์อักขระพิเศษ
  • ‘C’ ไฟล์ (“ข้อมูลต่อเนื่อง”) ประสิทธิภาพสูง
  • ‘d’ ไดเรกทอรี
  • 'D' ประตู (Solaris 2.5 ขึ้นไป)
  • ‘l’ ลิงค์สัญลักษณ์
  • 'ม' ไฟล์ออฟไลน์ (“ย้ายข้อมูล”) (Cray DMF)
  • ‘n’ ไฟล์เครือข่ายพิเศษ (HP-UX)
  • ‘p’ FIFO (ชื่อไปป์)
  • 'พี่' พอร์ต (Solaris 10 ขึ้นไป)
  • ของ’ ซ็อกเก็ต
  • ‘?’ ไฟล์ประเภทอื่น

อะไรนะ 777 หมายถึง

เพื่อให้พิมพ์ได้เร็วขึ้นเมื่อกำหนดสิทธิ์ คุณสามารถใช้ตัวเลขเพื่อแสดงชุดตัวอักษรที่แสดงด้านบน:

  • 7 สงวนลิขสิทธิ์
  • 6 อ่านเขียน
  • 5 อ่านและดำเนินการ
  • 4 อ่านอย่างเดียว
  • 3 ดำเนินการและเขียน
  • 2 เขียนเท่านั้น
  • 1 ดำเนินการเท่านั้น
  • 0 ไม่มีสิทธิ์

ดังนั้น เพื่อให้สิทธิ์ทั้งหมด ให้ทั้งผู้ใช้กลุ่ม, และ อื่นๆ เราต้องการมอบหมายการอนุญาต 777

chmod คำสั่ง

chmod คำสั่ง (โหมดเปลี่ยน) ให้คุณใช้การอนุญาตกับไฟล์ได้

chmod 777

ดังนั้น วิ่ง:

chmod 777 /path/to/file/or/folder

…จะให้สิทธิ์ในการอ่าน เขียน และดำเนินการกับเจ้าของไฟล์หรือโฟลเดอร์ (ผู้ใช้) กลุ่ม (ผู้ใช้ภายในกลุ่ม) และคนอื่นๆ (ทุกคนในระบบ)

chmod -R 777 /path/to/file/or/folder

การทำเช่นนี้จะทำสิ่งเดียวกันซ้ำๆ และทำให้ทุกคนมีสิทธิ์เต็มที่ในไฟล์ที่อยู่ในไดเร็กทอรี

ตอนนี้คุณรู้แล้ว!