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

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

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

เพื่อจุดประสงค์ในการอธิบายประกอบ เรามีระบบที่มีผู้ใช้สามคน – john1, john2 และ john3 ทั้งหมดเป็นสมาชิกของกลุ่มทั่วไป “johns”

สมมติว่า "john1" สร้างไดเร็กทอรีใหม่ชื่อ "shared-dir" ซึ่งมีไว้สำหรับแชร์กับผู้ใช้ทั้งหมดของกลุ่ม "johns"

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

ด้วย ls คำสั่ง เราสามารถดูการอนุญาตของ "shared-dir" ซึ่งสามารถตีความได้ในตารางต่อไปนี้:

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

เฉพาะ “john1” เท่านั้นที่สามารถอ่านเนื้อหาของไดเร็กทอรีและเขียนไปยังไดเร็กทอรีได้ด้วย เนื่องจากเรากำลังทำงานกับไดเร็กทอรีที่ใช้ร่วมกัน เราจึงต้องการให้ผู้ใช้ทุกคนในกลุ่มสามารถเขียนถึง "shared-dir" ได้

สำหรับสิ่งนี้ เราจะแก้ไขการอนุญาตโดยใช้ chmod สั่งการ. เราจะเพิ่มสิทธิ์ "เขียน" ให้กับผู้ใช้กลุ่ม "johns" ทั้งหมดดังที่แสดงด้านล่าง

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

เราสามารถดูการอนุญาตที่อัปเดตสำหรับ "shared-dir" ดังที่แสดงด้านล่าง ส่วนที่ขีดเส้นใต้สีเหลืองแสดงว่ากลุ่ม “johns” ได้รับอนุญาตให้ “เขียน” แล้ว

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

การเพิ่มไฟล์ไปยังไดเร็กทอรีที่ใช้ร่วมกัน

ตอนนี้ “john1” เพิ่มสองไฟล์ (j1_file1.txt และ j1_file2.txt) ไปที่ “shared-dir”

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

เพื่อให้เข้าใจได้ง่าย อักขระสองตัวแรกของชื่อไฟล์จะมีความหมายเหมือนกันกับชื่อผู้ใช้

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

ในทำนองเดียวกัน “john2” ยังสามารถ “เขียน” ไปยังไดเร็กทอรี “shared-dir”

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

ตอนนี้มีสี่ไฟล์ใน “shared-dir”

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

มีปัญหากับการตั้งค่าปัจจุบันหรือไม่

ไฟล์ “j1_file1.txt” ถูกสร้างขึ้นโดย “john1” ทำให้ “john1” เป็นเจ้าของไฟล์ ตอนนี้ “john2” เข้าสู่ระบบและพยายามลบไฟล์นี้ และเขาจะสามารถทำได้

“john1” เป็นเจ้าของไฟล์ แต่ “john2” สามารถลบออกได้เนื่องจากสิทธิ์ “เขียน” ให้กับสมาชิกทุกคนในกลุ่ม “johns”

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

ขอแนะนำ Sticky Bit

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

chmod คำสั่งด้วย +t แฟล็กสามารถใช้เพื่อตั้งค่าสติ๊กกี้บิตบนไดเร็กทอรี

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

สามารถดูการอนุญาตที่อัปเดตด้านล่าง

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

ตอนนี้ หาก “john2” พยายามลบไฟล์ “j1_file2.txt” ที่สร้างโดย “john1” จะไม่อนุญาตให้ดำเนินการดังกล่าว

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

หากคุณลบการอนุญาต "ดำเนินการ" สำหรับ "ผู้อื่น" ดังที่แสดงด้านล่าง:

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

การมีอยู่ของบิตเหนียวบนไดเร็กทอรีจะแสดงด้วยตัวพิมพ์ใหญ่ "T" ในส่วน "อื่นๆ" ของสตริงการอนุญาต พฤติกรรมของ Sticky Bit บนไดเร็กทอรียังคงเหมือนเดิม

วิธีใช้ Sticky Bit เพื่อจัดการไฟล์บน Shared Directory ใน Linux

ตัวแปรของคำสั่ง “chmod”

รูปแบบตัวเลขของ chmod คำสั่งยังสามารถใช้เพื่อตั้งค่าสติ๊กกี้บิตบนไดเร็กทอรีได้อีกด้วย

chmod nxyz <file_name>

ที่ไหน

  • n =1 หมายถึงบิตเหนียว ค่าอื่นๆ ของ “n” หมายถึงการอนุญาตพิเศษอื่นๆ
  • x :สิทธิ์ที่มอบให้กับเจ้าของไฟล์
  • y :อนุญาตให้กลุ่มเข้าถึงไฟล์ได้
  • z :อนุญาติให้ผู้อื่น

ในการตั้งค่า Sticky bit บน “shared-dir” ให้ใช้คำสั่งต่อไปนี้:

chmod 1755 shared-dir

ซึ่งให้ผลลัพธ์เหมือนกับการใช้ +t ในการอนุญาตเริ่มต้นที่มีอยู่

การใช้ Sticky bit นั้นดีสำหรับไดเร็กทอรีเท่านั้น มันไม่สมเหตุสมผลเลยที่จะใช้มันกับไฟล์