คำสั่ง Chmod และสิทธิ์ไฟล์ Linux อธิบาย

คำสั่ง Chmod และสิทธิ์ไฟล์ Linux อธิบาย

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





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





ไม่ว่าหนึ่งใน คำสั่ง Linux ที่สำคัญที่สุดในการเรียนรู้ เป็นคำสั่งเล็กๆแต่ทรงพลังที่เรียกว่า chmod . แต่ก่อนที่เราจะอธิบายว่าคำสั่งนี้ทำอะไร เราต้องเข้าใจเล็กน้อยก่อนว่า Linux จัดการกับความปลอดภัยของไฟล์อย่างไร





พื้นฐานของการอนุญาตไฟล์ Linux

ระบบปฏิบัติการ Linux เป็นระบบที่เหมือน Unix ( ทำความเข้าใจ Linux กับ Unix ) และระบบที่เหมือน Unix เข้าถึงการอนุญาตไฟล์ดังนี้:

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



ไฟล์ทั้งหมดบนระบบที่เหมือน Unix มีสิทธิ์ที่กำหนดให้กับทั้งสามคลาส และสิ่งเหล่านี้กำหนดว่าคลาสดังกล่าวสามารถดำเนินการใดได้บ้างสำหรับไฟล์ที่กำหนด

การดำเนินการสามอย่างที่มีอยู่ในระบบที่เหมือน Unix คือ: อ่าน (ความสามารถในการเปิดและดูเนื้อหาของไฟล์) เขียน (ความสามารถในการเปิดและแก้ไขเนื้อหาของไฟล์) และ ดำเนินการ (ความสามารถในการเรียกใช้ไฟล์เป็นโปรแกรมปฏิบัติการ)





กล่าวคือ สิทธิ์ของไฟล์จะกำหนดว่า:

  • เจ้าของสามารถอ่าน เขียน และรันไฟล์ได้
  • กลุ่มสามารถอ่าน เขียน และรันไฟล์ได้
  • คนอื่นสามารถอ่าน เขียน และเรียกใช้ไฟล์ได้

การอนุญาตไฟล์ Linux สามารถแสดงได้สองรูปแบบ





รูปแบบแรกเรียกว่า สัญกรณ์สัญลักษณ์ ซึ่งเป็นสตริงที่มีอักขระ 10 ตัว: อักขระหนึ่งตัวที่แสดงถึงประเภทไฟล์ ตามด้วยอักขระเก้าตัวที่แสดงถึงสิทธิ์ในการอ่าน (r) การเขียน (w) และการดำเนินการ (x) ของไฟล์ ตามลำดับเจ้าของ กลุ่ม และอื่นๆ หากไม่อนุญาต จะใช้เครื่องหมายขีด (-)

ตัวอย่างเช่น:

-rwxr-xr--

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

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

  • 0 หมายความว่าไม่ได้รับอนุญาต
  • +1 ถ้าคลาสสามารถรันไฟล์ได้
  • +2 ถ้าคลาสสามารถเขียนไปยังไฟล์ได้
  • +4 ถ้าชั้นเรียนสามารถอ่านไฟล์ได้

กล่าวอีกนัยหนึ่งความหมายของค่าตัวเลขแต่ละหลักลงท้ายด้วย:

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

ดังนั้นตัวอย่างข้างต้น (

-rwxr-xr--

) จะเป็น 754 ในรูปแบบตัวเลข

นั่นคือการอนุญาตไฟล์ Linux โดยสรุป

Chmod คืออะไร?

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

วิธีทำทางลัดบน iphone

เพื่อไม่ให้สับสนกับ chown ซึ่งเป็นคำสั่งระดับระบบอื่นบนระบบที่คล้าย Unix ที่ย่อมาจาก 'change owner' และให้คุณกำหนดความเป็นเจ้าของไฟล์ให้กับผู้ใช้รายอื่น หรือ chgrp ซึ่งย่อมาจาก 'change group' และกำหนดไฟล์ให้กับกลุ่มอื่น สิ่งเหล่านี้เป็นสิ่งสำคัญที่ต้องรู้ แต่ไม่ได้ใช้กันทั่วไปเหมือน chmod

Chmod 644 หมายถึงอะไร?

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

windows ตรวจไม่พบการตั้งค่าพร็อกซีของเครือข่ายนี้โดยอัตโนมัติ google chrome

Chmod 755 หมายถึงอะไร?

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

Chmod 555 หมายถึงอะไร?

การตั้งค่าการอนุญาตของไฟล์เป็น 555 ทำให้ทุกคนไม่สามารถแก้ไขไฟล์ได้เลย ยกเว้น superuser ของระบบ ( เรียนรู้เพิ่มเติมเกี่ยวกับ Linux superuser ) ซึ่งไม่ได้ใช้บ่อยเท่า 644 แต่สิ่งสำคัญคือต้องทราบ เนื่องจากการตั้งค่าแบบอ่านอย่างเดียวจะป้องกันการเปลี่ยนแปลงโดยไม่ได้ตั้งใจและ/หรือการปลอมแปลง

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

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

วิธีใช้ Chmod บน Linux

คำสั่ง chmod มีรูปแบบอย่างง่าย:

chmod [permissions] [file]

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

chmod 644 example.txt

คุณยังสามารถให้สิทธิ์ในรูปแบบสัญลักษณ์ ซึ่งมีประโยชน์เมื่อคุณต้องการแก้ไขการอนุญาตของคลาสเฉพาะเท่านั้น ตัวอย่างเช่น:

chmod u=rwx example.txt
chmod g=rw example.txt
chmod o=rw example.txt

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

chmod u=rwx,g=rw,o=rw example.txt

เมื่อกำหนดสิทธิ์เดียวกันให้กับหลายคลาส คุณสามารถรวมเข้าด้วยกันได้:

chmod u=rwx,go=rw example.txt

แต่ความสวยงามของการใช้สัญกรณ์สัญลักษณ์จะส่องประกายเมื่อคุณต้องการเพิ่มหรือลบการอนุญาตสำหรับการดำเนินการเฉพาะสำหรับชั้นเรียนใดคลาสหนึ่งเท่านั้น

ตัวอย่างเช่น นี่ เพิ่ม สิทธิ์ในการดำเนินการสำหรับเจ้าของไฟล์:

chmod u+x example.txt

และนี่ ลบ สิทธิ์การเขียนและดำเนินการสำหรับผู้ใช้รายอื่น:

chmod o-wx example.txt

สุดท้ายนี้ หากคุณต้องการใช้ชุดการอนุญาตเฉพาะกับไฟล์และโฟลเดอร์ทั้งหมดภายในไดเร็กทอรีเฉพาะ (เช่น chmod แบบเรียกซ้ำ) ให้ใช้ตัวเลือก -R และกำหนดเป้าหมายไดเร็กทอรี:

chmod -R 755 example_directory

แม้ว่าคำสั่ง chmod จะดูแปลกไปเล็กน้อยในแวบแรก แต่จริงๆ แล้วค่อนข้างเรียบง่ายและมีเหตุผลทั้งหมด หากคุณเข้าใจข้างต้น แสดงว่าคุณเชี่ยวชาญ chmod แล้ว!

เรียนรู้เพิ่มเติมเกี่ยวกับ Mastering Linux

คำสั่งเช่น chmod, chown และ chgrp เป็นเพียงส่วนเล็กของภูเขาน้ำแข็งของ Linux หากคุณเพิ่งเริ่มใช้ระบบปฏิบัติการ เราขอแนะนำให้ตรวจสอบลูกเล่นสำหรับมือใหม่ที่ใช้ Linux รวมถึงคำสั่ง Linux ที่คุณไม่ควรเรียกใช้

แต่ที่สำคัญที่สุด คุณควรพยายามทำให้ดีที่สุดโดยดูจาก . ของเรา คู่มือเริ่มต้นที่ครอบคลุมสำหรับ Ubuntu และ Linux ซึ่งจะสอนทุกสิ่งที่คุณจำเป็นต้องรู้เพื่อเริ่มต้นและทำความคุ้นเคยให้มากพอที่จะรู้สึกสบายใจ

แบ่งปัน แบ่งปัน ทวีต อีเมล 5 เคล็ดลับในการเพิ่มพลังให้เครื่อง VirtualBox Linux ของคุณ

เบื่อกับประสิทธิภาพที่ย่ำแย่ของเวอร์ชวลแมชชีนหรือไม่? นี่คือสิ่งที่คุณควรทำเพื่อเพิ่มประสิทธิภาพ VirtualBox ของคุณ

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • คำสั่งลินุกซ์
เกี่ยวกับผู้เขียน โจเอล ลี(ตีพิมพ์บทความ 1524)

Joel Lee เป็นบรรณาธิการของ MakeUseOf ตั้งแต่ปี 2018 เขามีปริญญาตรี ในสาขาวิทยาการคอมพิวเตอร์และประสบการณ์การเขียนและแก้ไขอย่างมืออาชีพกว่าเก้าปี

เพิ่มเติมจาก Joel Lee

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก