Bit dính là bit quyền được đặt trên tệp hoặc thư mục chỉ cho phép chủ sở hữu tệp / thư mục hoặc người dùng gốc xóa hoặc đổi tên tệp. Không có người dùng khác được cung cấp đặc quyền để xóa các tập tin được tạo bởi một số người dùng khác.
Đôi khi, bạn cần thư mục Linux có thể được sử dụng bởi tất cả người dùng hệ thống Linux để tạo tệp. Người dùng có thể tạo, xóa hoặc đổi tên tập tin theo sự thuận tiện của họ trong thư mục này.
Bây giờ, nếu người dùng vô tình hoặc cố ý xóa (hoặc đổi tên) một tệp được tạo bởi một số người dùng khác trong thư mục này thì sao?
Vâng, để tránh các loại vấn đề này, khái niệm bit dính được sử dụng. Vì / tmp được sử dụng cho mục đích này. Vì vậy, để tránh trường hợp trên, / tmp sử dụng bit dính.
Ví dụ:
mkdir demo
chmod 777 demo
Tôi cũng đã tạo hai tệp với người dùng khác nhau trong thư mục này có quyền 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
Bây giờ bật bit dính vào này
chmod +t demo/
ls -ld demo
drwxrwxrwt 2 guru guru 4096 Mar 11 18:17 demo
Bây giờ điều gì xảy ra nếu một người dùng (abhi) muốn đổi tên người dùng thứ 2 (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
Nguồn gốc của bit dính
Trên Linux, bit dính chỉ có cách sử dụng được mô tả ở trên, trên các thư mục. Trong lịch sử, nó được sử dụng cho một cái gì đó hoàn toàn khác trên các tệp thông thường và đây là tên của nó.
Khi một chương trình được thực thi, phải mất thời gian để tải chương trình vào bộ nhớ trước khi người dùng thực sự có thể bắt đầu sử dụng nó. Nếu một chương trình, ví dụ như trình chỉnh sửa được người dùng sử dụng thường xuyên thì thời gian trễ khởi động là một chi phí quá khứ.
Để cải thiện độ trễ thời gian này, bit dính đã được giới thiệu. HĐH đã kiểm tra xem nếu bit dính trên tệp thực thi là BẬT thì đoạn văn bản của tệp thực thi được giữ trong không gian hoán đổi. Điều này giúp dễ dàng tải lại tệp thực thi vào RAM khi chương trình được chạy lại, do đó giảm thiểu thời gian trễ.
Các hệ thống hiện đại như Linux tự động quản lý bộ đệm của các tệp thực thi và các tệp khác và không cần bit dính cho điều đó.
Nguồn: Khái niệm về bit dính Linux Linux được giải thích với các ví dụ