Sticky bit เป็นบิตสิทธิ์ที่ตั้งอยู่บนไฟล์หรือไดเรกทอรีที่ให้เจ้าของไฟล์ / ไดเรกทอรีหรือผู้ใช้รูทเท่านั้นที่จะลบหรือเปลี่ยนชื่อไฟล์ ไม่มีผู้ใช้รายอื่นที่ได้รับสิทธิ์ในการลบไฟล์ที่สร้างโดยผู้ใช้รายอื่น
บางครั้งมันเกิดขึ้นที่คุณต้องการไดเรกทอรี Linux ที่สามารถใช้งานโดยผู้ใช้ทุกคนของระบบ Linux สำหรับการสร้างไฟล์ ผู้ใช้สามารถสร้างลบหรือเปลี่ยนชื่อไฟล์ตามความสะดวกในไดเรกทอรีนี้
ทีนี้จะเกิดอะไรขึ้นถ้าผู้ใช้ตั้งใจหรือลบ (หรือเปลี่ยนชื่อ) ไฟล์ที่สร้างโดยผู้ใช้รายอื่นในไดเรกทอรีนี้?
ดีเพื่อหลีกเลี่ยงปัญหาประเภทนี้แนวคิดของการใช้บิตเหนียว เนื่องจาก/ tmpถูกใช้เพื่อจุดประสงค์นี้ ดังนั้นเพื่อหลีกเลี่ยงสถานการณ์ข้างต้น/ tmpใช้ sticky bit
ตัวอย่างเช่น:
mkdir demo
chmod 777 demo
ฉันสร้างไฟล์สองไฟล์โดยมีผู้ใช้ต่างกันในโฟลเดอร์นี้ที่มีสิทธิ์ 777
ls -ld demo
drwxrwxrwx 2 guru guru 4096 Mar 11 18:17 demo
ls -l demo
-rwxrwxrwx 1 abhi abhi 0 Mar 11 17:11 file1
-rwxrwxrwx 1 anshu anshu 0 Mar 11 18:15 file2
ตอนนี้เปิดบิตเหนียวบนนี้
chmod +t demo/
ls -ld demo
drwxrwxrwt 2 guru guru 4096 Mar 11 18:17 demo
ตอนนี้จะเกิดอะไรขึ้นถ้าผู้ใช้หนึ่งคน (abhi) ต้องการเปลี่ยนชื่อผู้ใช้คนที่สอง (anshu)
mv /home/guru/demo/file2 /home/guru/demo/file3
mv: cannot move '/home/guru/demo/file2' to '/home/guru/demo/file3': Operation not permitted
ต้นกำเนิดของความเหนียว
บน Linux บิตเหนียวมีการใช้งานที่อธิบายไว้ด้านบนในไดเรกทอรีเท่านั้น ในอดีตมันใช้สำหรับบางสิ่งที่แตกต่างอย่างสิ้นเชิงในไฟล์ปกติและนี่คือที่มาของชื่อ
เมื่อเรียกใช้งานโปรแกรมจะต้องใช้เวลาในการโหลดโปรแกรมลงในหน่วยความจำก่อนที่ผู้ใช้จะสามารถเริ่มใช้งานได้จริง หากโปรแกรมตัวอย่างเช่นโปรแกรมแก้ไขถูกใช้บ่อยโดยผู้ใช้การหน่วงเวลาการเริ่มต้นใช้งานเป็นค่าใช้จ่ายในตอนนั้น
ในการปรับปรุงการหน่วงเวลานี้จะมีการแนะนำบิตเหนียว ระบบปฏิบัติการตรวจสอบว่าถ้าเหนียวน้อยในการปฏิบัติการอยู่บนแล้วส่วนข้อความของปฏิบัติการได้เก็บไว้ในพื้นที่แลกเปลี่ยน สิ่งนี้ทำให้ง่ายต่อการโหลดโปรแกรมที่เรียกคืนกลับมาเป็นแรมเมื่อโปรแกรมทำงานอีกครั้งจึงช่วยลดการหน่วงเวลา
ระบบที่ทันสมัยเช่น Linux จัดการแคชของไฟล์เรียกทำงานและไฟล์อื่น ๆ โดยอัตโนมัติและไม่จำเป็นต้องมีความเหนียวสำหรับสิ่งนั้น
ที่มา: “ แนวคิด Linux Sticky Bit อธิบายด้วยตัวอย่าง” ที่ The Geek Stuff