Thông điệp kernel sau có nghĩa là gì?


12

Sau đây xuất hiện / var / log / message, điều đó có nghĩa là gì?

  Feb 19 22:51:20  kernel: [  187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)

Nó xảy ra khi một công việc định kỳ sắp chạy.


Câu trả lời:


9

Một quy trình đặc quyền có thể bị lừa để ghi đè lên một tệp quan trọng (/ etc / passwd, / etc / bóng, v.v.) bằng cách trỏ một liên kết tượng trưng vào nó. Ví dụ: nếu bạn biết rằng root sẽ chạy một chương trình tạo tệp trong / tmp, bạn có thể đặt bẫy bằng cách đoán tên tệp sẽ là gì (thường là / tmp / fooXXX, với foo là tên chương trình và XXX là ID tiến trình) và điền / tmp với các ứng cử viên có khả năng trỏ vào / etc / bóng. Sau đó, root mở tệp trong / tmp, cắt ngắn và ghi đè / etc / bóng và đột nhiên không ai có thể đăng nhập vào hệ thống nữa. Có một cuộc tấn công liên quan khai thác một điều kiện chủng tộc giữa việc kiểm tra sự tồn tại của tệp tạm thời và việc tạo tệp.

Có nhiều cách để tránh vấn đề này, bao gồm sử dụng cẩn thận mktemp () và mkstemp (), nhưng không phải tất cả các lập trình viên và người dùng sẽ nhận thức được rủi ro này. Do đó, một bản vá nhân Linux đã được đề xuất gần đây và rõ ràng nó đã được áp dụng cho kernel mà bạn đang sử dụng. Bản vá ngăn chặn các liên kết theo sau trong một trong những tình huống phổ biến có thể đã được đặt liên kết độc hại: một thư mục có thể ghi trên thế giới với tập bit dính, đó là cách / tmp thường được cấu hình trên các hệ thống Unix. Thay vì theo liên kết tượng trưng, ​​cuộc gọi hệ thống đã thử thất bại với EACCES và kernel ghi lại thông báo mà bạn đã thấy.

Một số cuộc trò chuyện liên quan trên danh sách gửi thư nhân Linux.

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.