Vì vậy, tôi đang cố gắng làm như sau. Tôi có máy chủ DigitalOcean Ubuntu với đăng nhập khóa SSH theo mặc định.
Tôi cần tạo một người dùng khác chỉ có quyền truy cập vào /var/www/mysite.com/public/b
thư mục. quá trình của tôi là như sau:
1. Tạo người dùng mới bằng lệnh sau:
thêm người dùng
--home /var/www/mysite.com/public/b
--shell /bin/bash
--no-tạo-nhà
--ingroup dữ liệu www
--ingroup ssh
người kiểm tra
2. Sau đó, vì tôi không chắc chắn cách xử lý việc này bằng cặp khóa, tôi đã kích hoạt đăng nhập mật khẩu qua SSH trong tệp sshd_config như sau:
Xác thực mật khẩu có
3. Sau khi làm điều này, tôi có thể mở trang web qua cả SSH và SFTP bằng tổ hợp người dùng và mật khẩu, nhưng người dùng có quyền truy cập vào mọi thứ.
4. Tôi đã thử sử dụng cái này bên trong sshd_config để giới hạn người dùng trong thư mục chính của anh ấy:
Hệ thống con sftp nội bộ-sftp
......
Phù hợp với người dùng thử nghiệm
ChrootDirectory /var/www/mysite.com/public/b
X11Số chuyển tiếp
AllowTcpForwarding không
ForceCommand nội bộ-sftp
5. Sau khi thêm phần đó, tôi không thể đăng nhập qua SSH nữa.
tôi đã kiểm tra /var/log/auth.log
tập tin và lỗi liên quan đến điều này là:
gây tử vong: quyền sở hữu hoặc chế độ không hợp lệ cho thành phần thư mục chroot "/var/www/mysite.com/"
Quyền sở hữu trang web của tôi là dữ liệu www: root
trong tất cả các thư mục.
Các quyền là như thế này:
]
Một vấn đề khác mà tôi gặp phải là ngay cả khi tôi quản lý để kết nối, tôi không thể tải lên bất cứ thứ gì, ngay cả sau khi thêm người dùng vào nhóm gốc, không có gì thay đổi.Tôi đã thử sở hữu thư mục có www-data:www-data nhưng không có sự khác biệt.
Có cách nào làm dễ hơn không?