Điểm:0

Gắn hệ thống tệp cho tất cả các quy trình từ bên trong dịch vụ/máy chủ web

lá cờ it

Tôi đang cố gắng tạo một trang web cục bộ cho phép tôi giải mã tệp, gắn hệ thống tệp chứa trong đó và bắt đầu dịch vụ systemd mà không cần truy cập bảng điều khiển. Sau đó, dịch vụ đã bắt đầu sử dụng các tệp trong hệ thống tệp được gắn kết. Máy chủ web hiện đang chạy mã python của tôi qua cgi để phục vụ một trang web đơn giản để giải mã và gắn hệ thống tệp đó. Tôi đã tạo ngoại lệ trong tệp sudoers cho người dùng dữ liệu www để thực thi một số lệnh nhất định mà tôi gọi trong python.

Khi tôi giải mã tệp bằng trang web này (gọi cryptsetup luksMở) thiết bị được giải mã xuất hiện như mong đợi:

> tập tin /dev/mapper/service-volume
/dev/mapper/service-volume: liên kết tượng trưng tới ../dm-0

Nhưng khi mã python của tôi cố gắng gắn cái này khối lượng dịch vụ nó chỉ được gắn trong quy trình công nhân apache, không khả dụng cho trình bao của tôi hoặc các quy trình khác (XXX là PID của quy trình công nhân apache):

> điểm gắn kết /mnt/thư mục dịch vụ
/mnt/service-folder không phải là điểm gắn kết
> mèo /proc/XXX/gắn kết
...
/dev/mapper/service-volume /mnt/service-folder ext4 rw,relatime 0 0

Hoạt động gắn kết được thực hiện là Sudo /bin/mount /dev/mapper/service-volume /mnt/service-folder với pythons sub process.run().

Vì vậy, câu hỏi của tôi là: Điều gì đang xảy ra ở đó? Đây có phải là một số ma thuật không gian tên/cgroup không? Và làm cách nào thư mục này có thể được gắn cho một dịch vụ/quy trình khác ngoài chính apache?


Thông tin thêm:

Các thư mục dịch vụ tồn tại (không có hệ thống tập tin được gắn kết):

> ls -la /mnt/thư mục dịch vụ
tổng số 8
drwxr-xr-x 2 gốc gốc 4096 ngày 23 tháng 1 21:25 .
drwxr-xr-x 4 root root 4096 Ngày 23 tháng 1 21:25 ..
paladin avatar
lá cờ id
Bên cạnh đó, thật nguy hiểm khi làm những việc như vậy bằng máy chủ web, thư mục `/mnt/service-folder` của bạn có tồn tại không?
Kaemmelot avatar
lá cờ it
Có, xem câu hỏi cập nhật của tôi. Ngoài ra, xin lưu ý rằng máy chủ web đã gắn thành công hệ thống tệp, nhưng chỉ trong quy trình worker của máy chủ web.
paladin avatar
lá cờ id
Thông thường, trong cấu hình mặc định, máy chủ web đang chroot thành `/var/www`, điều này có nghĩa là tất cả các tệp/thư mục khác không hiển thị đối với máy chủ web. Có lẽ điều này có một tác động cho bạn? Cố gắn vào `/var/www/yoursite/service-folder`.
Kaemmelot avatar
lá cờ it
Apache không chroot. Và ngay cả khi nó sẽ chroot ở đó, hoạt động gắn kết (đã thành công) sẽ gắn kết trong thư mục con của `/var/www`. Tôi đã xem bên trong các thư mục này và không tìm thấy gì.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.