การอนุญาตไฟล์ใน Linux / Unix: จะอ่านเขียนและเปลี่ยนแปลงได้อย่างไร

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

  1. กรรมสิทธิ์
  2. การอนุญาต

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

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

ความเป็นเจ้าของไฟล์ Linux

ทุกไฟล์และไดเร็กทอรีบนระบบ Unix/Linux ของคุณถูกกำหนดให้เป็นเจ้าของ 3 ประเภท ตามด้านล่างนี้

ผู้ใช้งาน

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

บัญชีกลุ่ม

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

อื่นๆ

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

ตอนนี้คำถามใหญ่เกิดขึ้นได้อย่างไร ลินุกซ์แยกแยะได้ ระหว่างผู้ใช้ทั้งสามประเภทนี้ เพื่อให้ผู้ใช้ 'A' ไม่สามารถส่งผลกระทบต่อไฟล์ซึ่งมีข้อมูล/ข้อมูลสำคัญของผู้ใช้ 'B' อื่น ๆ มันเหมือนกับว่าคุณไม่ต้องการเพื่อนร่วมงานที่ทำงานกับคุณ คอมพิวเตอร์ลินุกซ์เพื่อดูภาพของคุณ นี่คือที่ สิทธิ์ กำหนดไว้ และพวกเขากำหนด พฤติกรรมผู้ใช้.

ให้เราเข้าใจ ระบบอนุญาต บน Linux

สิทธิ์ของไฟล์ Linux

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

  • อ่าน: การอนุญาตนี้ให้สิทธิ์แก่คุณในการเปิดและอ่านไฟล์ สิทธิ์การอ่านในไดเร็กทอรีทำให้คุณสามารถแสดงรายการเนื้อหาได้
  • เขียน: สิทธิ์การเขียนให้สิทธิ์แก่คุณในการแก้ไขเนื้อหาของไฟล์ สิทธิ์การเขียนในไดเร็กทอรีให้สิทธิ์คุณในการเพิ่ม ลบ และเปลี่ยนชื่อไฟล์ที่จัดเก็บไว้ในไดเร็กทอรี พิจารณาสถานการณ์สมมติที่คุณต้องเขียนสิทธิ์ลงในไฟล์แต่ไม่มีสิทธิ์ในการเขียนบนไดเร็กทอรีที่จัดเก็บไฟล์ไว้ คุณจะสามารถแก้ไขเนื้อหาของไฟล์ได้ แต่คุณจะไม่สามารถเปลี่ยนชื่อ ย้าย หรือลบไฟล์ออกจากไดเร็กทอรีได้
  • ดำเนินการ: In Windowsโปรแกรมปฏิบัติการมักจะมีนามสกุล “.exe” ซึ่งคุณสามารถเรียกใช้ได้อย่างง่ายดาย ใน Unix/Linux คุณจะไม่สามารถรันโปรแกรมได้เว้นแต่จะตั้งค่าสิทธิ์ในการดำเนินการไว้ หากไม่ได้ตั้งค่าสิทธิ์ดำเนินการ คุณอาจยังสามารถดู/แก้ไขโค้ดโปรแกรมได้ (ตั้งค่าสิทธิ์การอ่านและเขียนที่ให้มา) แต่ไม่สามารถเรียกใช้ได้

สิทธิ์ของไฟล์ Linux
การอนุญาตไฟล์ใน Linux/Unix

มาดูการอนุญาตไฟล์ใน Linux พร้อมตัวอย่าง:

แอล – แอล บนเทอร์มินัลให้

ls - l

สิทธิ์ของไฟล์ Linux

ที่นี่เราได้เน้น '-rw-rw-r–'และโค้ดที่ดูแปลกๆ นี้คือโค้ดที่บอกเราเกี่ยวกับสิทธิ์ Unix ที่มอบให้กับเจ้าของ กลุ่มผู้ใช้ และโลก

ที่นี่ครั้งแรก'-' หมายความว่าเราได้เลือก file.p>

สิทธิ์ของไฟล์ Linux

มิฉะนั้น หากเป็นไดเร็กทอรี d จะได้รับการแสดง

สิทธิ์ของไฟล์ Linux

ตัวละครค่อนข้างจำง่าย

r = สิทธิ์ในการอ่าน
w = สิทธิ์ในการเขียน
x = ดำเนินการอนุญาต
- = ไม่ได้รับอนุญาต

เรามาดูกันด้วยวิธีนี้

ส่วนแรกของรหัสคือ 'ร-'- สิ่งนี้ชี้ให้เห็นว่าเจ้าของ 'บ้าน' สามารถ:

การอนุญาตไฟล์ลินุกซ์

  • อ่านไฟล์
  • เขียนหรือแก้ไขไฟล์
  • เขาไม่สามารถรันไฟล์ได้เนื่องจากบิตรันไทม์ถูกตั้งค่าเป็น '-'

จากการออกแบบ ลีนุกซ์หลายตัวเช่น Fedora, CentOS, Ubuntuฯลฯ จะเพิ่มผู้ใช้ในกลุ่มที่มีชื่อกลุ่มเดียวกันกับชื่อผู้ใช้ ดังนั้น ผู้ใช้ 'tom' จะถูกเพิ่มในกลุ่มชื่อ 'tom'

ส่วนที่สองคือ 'rw-' สำหรับกลุ่มผู้ใช้ 'บ้าน' และสมาชิกกลุ่มสามารถ:

  • อ่านไฟล์
  • เขียนหรือแก้ไขไฟล์

ส่วนที่สามมีไว้สำหรับโลกซึ่งหมายถึงผู้ใช้ทุกคน มันบอกว่า 'ร–' ซึ่งหมายความว่าผู้ใช้สามารถ:

  • อ่านไฟล์

สิทธิ์ของไฟล์ Linux

การเปลี่ยนการอนุญาตไฟล์ / ไดเรกทอรีใน Linux โดยใช้คำสั่ง 'chmod'

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

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

ไวยากรณ์:

chmod permissions filename

วิธีการใช้งานมี 2 วิธี คำสั่ง -

  1. โหมดแอบโซลูท
  2. โหมดสัญลักษณ์

โหมดสัมบูรณ์ (ตัวเลข) ใน Linux

ในโหมดนี้ ไฟล์ การอนุญาตจะไม่แสดงเป็นอักขระ แต่เป็นเลขฐานแปดสามหลัก.

ตารางด้านล่างนี้แสดงตัวเลขสำหรับประเภทสิทธิ์ทั้งหมด

จำนวน ประเภทสิทธิ์ สัญลักษณ์
0 ไม่ได้รับอนุญาต -
1 ดำเนินงาน -NS
2 เขียน -ใน-
3 ดำเนินการ + เขียน -wx
4 อ่าน NS-
5 อ่าน + ดำเนินการ rx
6 อ่าน+เขียน ร-
7 อ่าน + เขียน + ดำเนินการ rwx

มาดูการทำงานของคำสั่งอนุญาต chmod กัน

โหมดสัมบูรณ์ (ตัวเลข) ใน Linux

ในหน้าต่างเทอร์มินัลที่ระบุข้างต้น เราได้เปลี่ยนการอนุญาตของไฟล์ 'ตัวอย่างเป็น '764'

โหมดสัมบูรณ์ (ตัวเลข) ใน Linux

รหัสสัมบูรณ์ '764' ระบุไว้ดังนี้:

  • เจ้าของสามารถอ่าน เขียน และดำเนินการได้
  • กลุ่มผู้ใช้สามารถอ่านและเขียนได้
  • โลกสามารถอ่านได้เท่านั้น

ซึ่งแสดงเป็น '-rwxrw-r–

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

โหมดสัญลักษณ์ใน Linux

ในโหมดสัมบูรณ์ คุณเปลี่ยนการอนุญาตสำหรับเจ้าของทั้ง 3 คน ในโหมดสัญลักษณ์ คุณสามารถแก้ไขการอนุญาตของเจ้าของเฉพาะได้ ใช้สัญลักษณ์ทางคณิตศาสตร์เพื่อแก้ไขการอนุญาตไฟล์ Unix

OperaTor Descriptไอออน

+

เพิ่มสิทธิ์ให้กับไฟล์หรือไดเร็กทอรี

-

ลบการอนุญาต

=

ตั้งค่าการอนุญาตและแทนที่การอนุญาตที่ตั้งไว้ก่อนหน้านี้

เจ้าของต่างๆ จะแสดงเป็น –

การแสดงนัยของผู้ใช้

u

ผู้ใช้/เจ้าของ

g

กลุ่ม

o

อื่น ๆ

a

ทั้งหมด

เราจะไม่ใช้สิทธิ์อนุญาตในรูปแบบตัวเลขเช่น 755 แต่จะใช้ตัวอักษรเช่น rwx มาดูตัวอย่างกัน

โหมดสัญลักษณ์ใน Linux

การเปลี่ยนความเป็นเจ้าของและกลุ่มใน Linux

หากต้องการเปลี่ยนสิทธิ์การเป็นเจ้าของไฟล์/ไดเร็กทอรี คุณสามารถใช้คำสั่งต่อไปนี้:

chown user filename

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

chown user:group filename

เรามาดูสิ่งนี้กันในการดำเนินการ

การเปลี่ยนความเป็นเจ้าของและกลุ่มใน Linux

ในกรณีที่คุณต้องการเปลี่ยนเฉพาะเจ้าของกลุ่ม ให้ใช้คำสั่ง

chgrp group_name filename

'chgrp' ย่อมาจาก Change Group

การเปลี่ยนความเป็นเจ้าของและกลุ่มใน Linux

ปลาย

  • ไฟล์ /etc/group ประกอบด้วยกลุ่มทั้งหมดที่กำหนดไว้ในระบบ
  • คุณสามารถใช้คำสั่ง “groups” เพื่อค้นหากลุ่มทั้งหมดที่คุณเป็นสมาชิก o
  • การเปลี่ยนความเป็นเจ้าของและกลุ่มใน Linux

  • คุณสามารถใช้คำสั่ง newgrp เพื่อทำงานเป็นสมาชิกกลุ่มอื่นที่ไม่ใช่กลุ่มเริ่มต้นของคุณ
  • การเปลี่ยนความเป็นเจ้าของและกลุ่มใน Linux

  • คุณไม่สามารถมี 2 กลุ่มที่เป็นเจ้าของไฟล์เดียวกันได้
  • คุณไม่มีกลุ่มที่ซ้อนกันใน Linux กลุ่มหนึ่งไม่สามารถเป็นกลุ่มย่อยของกลุ่มอื่นได้
  • x- การดำเนินการไดเร็กทอรีหมายถึงการได้รับอนุญาตให้ "ป้อน" dir และเข้าถึง sub-dirs ได้
  • มีการอนุญาตอื่น ๆ ที่คุณสามารถตั้งค่าในไฟล์และไดเร็กทอรี ซึ่งจะครอบคลุมในบทช่วยสอนขั้นสูงในภายหลัง

สรุป:

  • Linux เป็นระบบที่มีผู้ใช้หลายคนใช้การอนุญาตและความเป็นเจ้าของเพื่อความปลอดภัย
  • ระบบ Linux มีผู้ใช้สามประเภท ได้แก่ ผู้ใช้ กลุ่ม และอื่นๆ
  • Linux แบ่งสิทธิ์ของไฟล์ออกเป็นการอ่าน เขียน และดำเนินการ ซึ่งแสดงด้วย r,w และ x
  • การอนุญาตในไฟล์สามารถเปลี่ยนแปลงได้โดยคำสั่ง 'chmod' ซึ่งสามารถแบ่งเพิ่มเติมเป็นโหมดสัมบูรณ์และสัญลักษณ์ได้
  • คำสั่ง 'chown' สามารถเปลี่ยนสิทธิ์การเป็นเจ้าของไฟล์/ไดเร็กทอรีได้ ใช้คำสั่งต่อไปนี้: chown user file หรือ chown user:group file
  • คำสั่ง 'chgrp' สามารถเปลี่ยนความเป็นเจ้าของกลุ่มได้ ชื่อไฟล์กลุ่ม chhrgrp
  • x - eXecuting ไดเร็กทอรีหมายถึงอะไร? ตอบ: ได้รับอนุญาตให้ "เข้า" dir และเข้าถึง sub-dirs ได้