- Trong Linux ( và các *unix based OS), Thư mục root (/) là thư mục cao nhất (top directory), chứa root file system, các file system khác cũng được mount trên root file system.
- Khi linux os được khởi động, sẽ có root process với pid = 1, tất cả các process và job khác sẽ là process con của root process. Tất cả các process trong linux có thể truy cập vào 1 file hoặc thư mục trên file system.
- Chroot là môt thủ tục thay đổi thư mục root cho các tiến trình đang chạy và các tiến trình con của nó. Khi đó process sẽ được chạy trên 1 thư mục có vai trò là thư mục root (khác với thư mục root /), và process với chroot có pid = 1. Và process không thể thấy và truy cập các file ở ngoài thư mục mà nó đang chạy.
- Thư mục được chroot tạo ra để chạy process như trên gọi là chroot jail
- Để thực hiện chroot, cần thực hiện gì?
- Một chương trình (phần mềm) trên linux khi thực thi cần phải gọi đến các chương trình khác đã được cài đặt trên hệ thông (các gọi phụ thuộc và các thư viên/libraries phục vụ cho nó)
- Khi chroot 1 chương trinh, thì nó chỉ có thể truy cập được các file trong chroot jail, và không thể gọi đến các chương trình và thư viện khác ở ngoài chroot jail. -> Do đó, để chương trình có thể chạy được, chroot jail phải bao gồm các file và thư viện liên quan.
- Như hình minh họa bên dưới, để sử dụng chroot, cần có 1 file system như 1 linux file system
(Còn nữa ... )
0 comments:
Post a Comment