Tôi đã đọc bài viết trên Wikipedia , nhưng tôi không thực sự chắc chắn về ý nghĩa của nó và nó tương tự như thế nào đối với kiểm soát phiên bản .
Sẽ rất hữu ích nếu ai đó có thể giải thích bằng những thuật ngữ rất đơn giản sandboxing là gì.
Tôi đã đọc bài viết trên Wikipedia , nhưng tôi không thực sự chắc chắn về ý nghĩa của nó và nó tương tự như thế nào đối với kiểm soát phiên bản .
Sẽ rất hữu ích nếu ai đó có thể giải thích bằng những thuật ngữ rất đơn giản sandboxing là gì.
Câu trả lời:
Một hố cát hoặc sandbox là một thấp, chứa rộng hoặc cạn trầm cảm chứa đầy cát, trong đó trẻ em có thể chơi. Nhiều chủ nhà có trẻ em xây hố cát trong sân sau của họ vì không giống như nhiều thiết bị sân chơi, chúng có thể dễ dàng và rẻ tiền. "Sandpit" cũng có thể biểu thị một mỏ cát lộ thiên.
Một hộp cát phần mềm không khác gì một hộp cát được xây dựng cho một đứa trẻ chơi. Bằng cách cung cấp hộp cát cho trẻ, chúng tôi mô phỏng môi trường của sân chơi thực (nói cách khác là isolated environment
) nhưng với những hạn chế về những gì trẻ có thể làm. Vì chúng tôi không muốn con bị nhiễm bệnh hoặc chúng tôi không muốn con gây rắc rối cho người khác. :) Cho dù lý do là gì, chúng tôi chỉ muốn đưa ra những hạn chế đối với những gì trẻ có thể làm Security Reasons
.
Bây giờ đến với hộp cát phần mềm của chúng tôi, chúng tôi cho phép bất kỳ phần mềm nào (con) thực thi (chơi) nhưng với một số hạn chế về những gì nó (anh ta) có thể làm. Chúng tôi có thể cảm thấy an toàn và an toàn về những gì phần mềm thực thi có thể làm.
Bạn đã thấy và sử dụng phần mềm Chống vi-rút. Đúng? Nó cũng là một loại hộp cát. Nó đặt ra những hạn chế về những gì bất kỳ chương trình nào có thể làm. Khi một hoạt động độc hại được phát hiện, nó sẽ dừng lại và thông báo cho người dùng rằng "ứng dụng này đang cố gắng truy cập vào các tài nguyên như vậy. Bạn có muốn cho phép không?".
Tải xuống chương trình có tên là sandboxie và bạn có thể thực hành trải nghiệm sandbox. Sử dụng chương trình này, bạn có thể chạy bất kỳ chương trình nào trong môi trường được kiểm soát.
Các mũi tên màu đỏ cho biết các thay đổi từ một chương trình đang chạy vào máy tính của bạn. Hộp có nhãn Đĩa cứng (không có hộp cát) hiển thị các thay đổi của một chương trình đang chạy bình thường. Hộp có nhãn Đĩa cứng (với hộp cát) hiển thị các thay đổi của một chương trình đang chạy trong Sandboxie. Hình ảnh động minh họa rằng Sandboxie có thể chặn các thay đổi và cô lập chúng trong một hộp cát, được mô tả như một hình chữ nhật màu vàng. Nó cũng minh họa rằng việc nhóm các thay đổi lại với nhau giúp bạn dễ dàng xóa tất cả chúng cùng một lúc.
Bây giờ theo quan điểm của lập trình viên, hộp cát đang hạn chế API được phép cho ứng dụng. Trong ví dụ chống vi-rút, chúng tôi đang giới hạn lệnh gọi hệ thống (API hệ điều hành).
Một ví dụ khác là các đấu trường mã hóa trực tuyến như topcoder. Bạn gửi một mã (chương trình) nhưng nó chạy trên máy chủ. Đối với safety
máy chủ, Họ nên giới hạn mức độ truy cập API của chương trình. Nói cách khác, họ cần tạo một hộp cát và chạy chương trình của bạn bên trong nó.
Nếu bạn có một sandox thích hợp, bạn thậm chí có thể chạy một tệp bị nhiễm vi-rút và dừng tất cả các hoạt động độc hại của vi-rút và tự xem nó đang cố gắng làm gì. Trên thực tế, đây sẽ là bước đầu tiên của một nhà nghiên cứu Antivirus.
Định nghĩa về hộp cát này về cơ bản có nghĩa là có môi trường thử nghiệm (tích hợp nhà phát triển, đảm bảo chất lượng, giai đoạn, v.v.). Các môi trường thử nghiệm này bắt chước sản xuất, nhưng chúng không chia sẻ bất kỳ tài nguyên sản xuất nào. Chúng có các máy chủ, hàng đợi, cơ sở dữ liệu và các tài nguyên khác hoàn toàn riêng biệt.
Thông thường hơn, tôi đã thấy hộp cát đề cập đến một thứ giống như một máy ảo - cô lập một số mã đang chạy trên máy để nó không thể ảnh hưởng đến hệ thống cơ sở.
Chúng tôi thường đề cập đến hộp cát khác .
Dù sao đi nữa, hộp cát thường có nghĩa là một môi trường bị cô lập . Bạn có thể làm bất cứ điều gì bạn thích trong hộp cát, nhưng tác dụng của nó sẽ không lan truyền bên ngoài hộp cát. Ví dụ, trong phát triển phần mềm, điều đó có nghĩa là bạn không cần phải làm rối tung nhiều thứ /usr/lib
để kiểm tra thư viện của mình, v.v.