Cung cấp cho người dùng ftp quyền truy cập vào các thư mục bên ngoài root bằng symlink


8

Tôi đã cố gắng cung cấp cho người dùng ảo proftpd quyền truy cập vào các thư mục bên ngoài đường dẫn nhà của họ bằng cách sử dụng các liên kết tượng trưng mà tôi đã tạo như root thông qua bảng điều khiển.

/var/ftp/users/test là ngôi nhà của người dùng có tên test.
/var/ftp/files/documents là thư mục chứa các tài liệu và /var/ftp/users/test/documents là liên kết tượng trưng cho nó.

Nhưng khi người dùng kết nối với FTP và cố gắng theo liên kết tượng trưng, ​​anh ta chỉ thấy lỗi này:

documents: No such file or directory

Tôi đang làm gì sai?

Câu trả lời:


21

Symlinks được khóa vào nhà tù giống như cách người dùng; nếu không thì người dùng có thể thoát ra khỏi nhà tù với cd documents. (Không, symlink gốc tạo ra có thể không được đối xử đặc biệt, với lý do tương tự mà cd -P symlink-to-dir; cd ..lá bạn tại địa điểm sai;. Sự xuất hiện của nó làm việc như bạn mong muốn là một ảo tưởng được tạo ra bởi vỏ) Sử dụng một ràng buộc gắn kết thay vì ( mount --bind /var/ftp/files/documents /var/ftp/users/test/documents).


Điều này cần phải được thực hiện mỗi khi máy chủ khởi động lại, phải không?
Sebastián Grignoli

1
Đúng; bạn sẽ muốn đặt nó vào /etc/fstab.
geekizard

7
Ví dụ, để giúp đỡ bất kỳ ai khác, đây là các chất xoay và gắn kết fstab: mount mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0
Benjamin Kaiser
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.