Tôi có một hệ thống * nix mà tôi muốn cài đặt chroot SFTP. Giả sử có ba người dùng, người dùng từ cùng một quốc gia có thể đọc và ghi các tệp từ đồng bào của họ, nhưng nên được chọn để họ không thể truy cập các tệp từ các quốc gia khác:
Đầu tiên, tạo một chroot:
$ sudo su -
$ mkdir /chroot
Sau đó tạo người dùng của tôi, thông tin của họ là:
alice
group: uk
other group: sftp-user
bob
group: uk
other group: sftp-user
charlie
group: italy
other group: sftp-user
Mỗi người trong số họ đã được tạo bằng lệnh
useradd -g <group> -G <other group> -d /chroot/<group> -s /sbin/nologin -m <username>
(Khi nào bob
được thực hiện, nó sẽ phàn nàn về thư mục chính đã tồn tại, không sao cả)
Bây giơ tôi suy nghĩ Tôi cần thêm chi tiết vào /etc/ssh/sshd_config
tệp, nhưng tất cả các ví dụ trên web là dành cho các nhóm dựa trên người dùng, không phải nhóm. Kế hoạch của tôi là:
#Subsystem stfp /the/old/sftp/subsystem
Subsystem sftp internal-sftp
Match Group sftp-user
ForceCommand internal-sftp
ChrootDirectory %h
Điều này có vẻ đúng? Tôi không gặp may mắn!
Tôi đã thử sử dụng một cái gì đó tương tự trên Enterprise Linux 6, nhưng tôi không gặp may. OpenSSH từ nó có lẽ đã quá cũ.
—
Cristian Ciupitu