Làm thế nào để giả mạo / giả định một thư mục được sử dụng bởi một ứng dụng nhị phân như một thư mục khác?


9

Giả sử có một ứng dụng nhị phân luôn ghi dữ liệu của nó vào /tmp.

Làm thế nào tôi có thể giả mạo / giả /tmpvì lợi ích của nhị phân này như một số thư mục khác (ví dụ home/tmp)?

Giả sử tôi không có phương tiện sửa đổi nhị phân này để buộc nó sử dụng một thư mục khác.

Câu trả lời:


11

Bạn có thể chạy ứng dụng trong một chrootmôi trường tức là /ứng dụng nhìn thấy không phải là thật /. Bạn tạo một hệ thống phân cấp hệ thống tệp hoàn chỉnh mới và mount ( --bind) mọi thứ bạn cần vào nó. Vấn đề liên quan là: Bạn có thể gắn kết thực ~/tmpđến /tmptrong chrootmôi trường.

Thay vì sử dụng chroot(yêu cầu đặc quyền siêu người dùng), bạn có thể thực hiện ít nhiều tương tự với các thùng chứa Linux ( lxc). Tôi không quen thuộc lxcnhưng vì đây là một quá trình người dùng bình thường đối với hệ thống máy chủ, bạn không cần phải là siêu người dùng cho các cấu hình như vậy trong container.


Câu trả lời tuyệt vời, tôi đã không nghe nói về chroothoặc lxccó khả năng làm điều này. Thật tuyệt khi biết có một cách để hoàn thành nó mà không phải là một siêu người dùng.
Nobilis

3
@Nobilis 98 upvote mất tích để được công nhận là một câu trả lời tuyệt vời ...
Hauke ​​Laging

2
Hãy coi chừng, tuy nhiên, điều đó chrootđòi hỏi phải cài đặt bổ sung (bạn đang thay thế toàn bộ /, không chỉ /tmp, vì vậy bất kỳ quyền truy cập vào /etc, /var, vv, cũng sẽ được bên trong "nhà tù") và tạo ra mối quan tâm an ninh của chương trình riêng ( "bỏ tù" của nó có thể có thể thao tác các phần của hệ thống tệp thường không có giới hạn nếu bạn không cẩn thận với các quyền khi thiết lập giả mạo của mình /).
IMSoP

@IMSoP Bạn có phiền khi giải thích "có thể thao tác các phần của hệ thống tệp thường không có giới hạn" chi tiết hơn không?
Hauke ​​Laging

@HaukeLaging Nếu cái mới /không bị hạn chế chỉ được ghi bởi root, người dùng "bị bỏ tù" có thể tạo hoặc thay thế các tệp dường như nằm ở các vị trí hệ thống chính, như /etc/passwd; điều này sau đó có thể được sử dụng để leo thang đặc quyền mà không thể có bên ngoài chroot. Nhiều máy chủ FTP Linux, theo truyền thống sử dụng chrootđể ẩn phần còn lại của hệ thống tệp, giờ đây từ chối làm như vậy nếu thư mục có thể ghi bởi người dùng không phải là root.
IMSoP

8

Hầu hết các phần mềm tuân thủ POSIX sẽ tôn vinh biến môi trường TMPDIR, vd

env TMPDIR=~/mytmp  /path/to/application
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.