Chữ cái của Tv là gì trong đầu ra của Ls -ld / tmp.


94

Khi chạy lệnh  ls -ld /tmp, đầu ra sẽ là:

drwxrwxrwt 30 root root 20480 Mar 11 14:17 /tmp

Vì vậy, tôi có hai câu hỏi chính:

  • Bức thư tsau khi được phép là gì?
  • Theo như tôi biết /tmpđược sử dụng để tạo các tệp tạm thời liên quan đến những người dùng khác nhau trong hệ thống, vậy tại sao nó lại có quyền rwxrwxrwx(777)?

Điều này có vẻ sai đối với tôi. Xin vui lòng tôi cần sự giúp đỡ của bạn để hiểu những gì đang xảy ra ở đây.


8
Đọc bài viết Wikipedia , nó tốt hơn so với câu trả lời ở đây.
Gilles


OK Tại sao sau đó, khi tôi cài đặt Cập nhật hoặc Gói vòng / phút mới từ / tmp, bit dính có bị xóa không?

Câu trả lời:


112

Vậy bit dính là gì?

Bit dính là bit quyền được đặt trên thư mục chỉ cho phép chủ sở hữu tệp trong thư mục đó, chủ sở hữu thư mục hoặc người dùng root xóa hoặc đổi tên tệp. Không có người dùng khác có các đặc quyền cần thiết để xóa tệp được tạo bởi một số người dùng khác.

Đây là một biện pháp bảo mật để tránh xóa các thư mục quan trọng và nội dung của chúng (thư mục con và tệp), mặc dù những người dùng khác có toàn quyền.

Tại sao /tmptbit dính?

Thư mục /tmpcó thể được sử dụng bởi những người dùng Linux khác nhau để tạo các tệp tạm thời. Bây giờ, nếu người dùng xóa / đổ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ì vậy, cho rằng một 777được đưa ra nhưng bảo quản bit dính không phải là một ý tưởng tồi.

Làm thế nào tôi có thể thiết lập bit dính cho một thư mục?

Tôi sẽ thiết lập một bit dính trên một thư mục được gọi testtrên Bàn làm việc của tôi.

Cách tượng trưng ( tđại diện cho bit dính):

chmod o+t ~/Desktop/test

hoặc là

chmod +t ~/Desktop/test

Cách số / bát phân (1, bit bit dính làm giá trị 1 ở vị trí đầu tiên)

chmod 1757 ~/Desktop/test

Bây giờ hãy để chúng tôi kiểm tra kết quả:

ls -li ~/Desktop/test

1551793 drwxrwxrwt 45 hadi hadi 20485 Mar 11 14:35 ~/Desktop/test

Để xóa / Xóa một bit dính

chmod o-t ~/Desktop/test

Bây giờ hãy để chúng tôi kiểm tra kết quả:

ls -li ~/Desktop/test

1551793 drwxrwxrwx 45 hadi hadi 20485 Mar 11 14:35 ~/Desktop/test

Nguồn: Một Bit dính là gì và làm thế nào để thiết lập nó trong Linux?


13
Việc sử dụng bit dính này chỉ áp dụng cho các thư mục, không phải các tệp. Trước đây, ý nghĩa của nó đối với các tệp thực thi là lưu phân đoạn văn bản của chương trình để trao đổi thay vì loại bỏ nó để chạy lại nó sẽ nhanh hơn, nhưng ngày nay nó không có ý nghĩa gì đối với các tệp thông thường.
psusi

phân đoạn văn bản của chương trình là gì và làm thế nào để giữ cho nó nhanh hơn?
BluePython

@BluePython Đoạn 'văn bản' của tệp thực thi là phần bao gồm tất cả mã máy: bit thực thi thực tế. Các phân đoạn phổ biến khác là 'dữ liệu' cho dữ liệu tĩnh và 'bss' cho dữ liệu hoàn toàn bằng không (và do đó không cần phải được lưu trữ trong tệp thực thi).
Miles Rout

1
Có sự khác biệt nào giữa 't' và 'T' cho phép thư mục không ?? @ psusi
Afshin

1
@Afshin: Vì tẩn xdấu cho biết liệu tất cả người dùng có thể thực thi tệp / thư mục hay không, chúng tôi cần một số cách khác để chỉ ra điều này. Điều thông thường là mọi người đều có thể thực hiện nó, trong trường hợp đó bạn có được một bình thường t(thay vì một x). Nhưng nếu không, sau đó bạn nhận được một chữ hoa T(thay vì a -). Nguồn: Wikipedia.
Toby Bartels

25

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ụ


2

Một stickbit là một phương pháp giải quyết cho các thư mục chia sẻ không bị xóa vô tình. Khi một thư mục có một stickbit thì chỉ chủ sở hữu hoặc root mới có thể xóa nó ngay cả khi mọi người dùng có thể có đầy đủ các quyền khác.

/tmplà thư mục được chia sẻ nhiều nhất giữa các quy trình và người dùng và vì nó chứa tệp dính để đảm bảo rằng không có người dùng nào có thể xóa thư mục đó, ngay cả quyền 777đó cũng phải cung cấp khả năng cho người dùng và quy trình sử dụng thư mục không có xung đột trong quyền.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.