Điểm:0

Lỗi Chroot SFTP: Đường ống bị hỏng

lá cờ at

Cập nhật: Mã bên dưới đã được cập nhật để phản ánh những thay đổi được xác định trong câu trả lời được đánh dấu và do đó đang hoạt động như mong đợi.

Tôi đang cố gắng thiết lập những người dùng chỉ sử dụng SFTP trên máy chủ của mình, những người dùng này được lưu vào thư mục chính của họ. Khi cố gắng kết nối với máy chủ, tôi nhận được lỗi đường ống bị hỏng:

debug1: Xác thực thành công (mật khẩu).
Đã xác thực với xxxx.xxxxxxxx.com ([XX.XX.XX.XX]:22).
debug2: cài đặt fd 5 O_NONBLOCK
debug3: fd 6 là O_NONBLOCK
debug1: kênh 0: [phiên khách hàng] mới
gỡ lỗi3: ssh_session2_open: channel_new: 0
debug2: kênh 0: gửi mở
debug3: gửi gói tin: gõ 90
debug1: Yêu cầu [email protected]
debug3: gửi gói: gõ 80
debug1: Đang vào phiên tương tác.
gỡ lỗi1: cam kết: mạng
debug3: gửi gói tin: gõ 1
packet_write_wait: Kết nối với cổng XX.XX.XX.XX 22: Đường ống bị hỏng
Không thể đọc gói: Thiết lập lại kết nối bởi ngang hàng

Tôi đã xác định rằng điều này có liên quan đến nỗ lực bỏ tù người dùng của tôi. Của tôi sshd_config bao gồm:

Hệ thống con sftp nội bộ-sftp
Ghép nhóm sftponly
        ForceCommand internal-sftp -d /%u
        Xác thực mật khẩu có
        ChrootDirectory /home/sftp
        Giấy phépTunnel không
        AllowAgentForwarding không
        AllowTcpForwarding không
        X11Số chuyển tiếp

sftponly là tên của nhóm tôi đã tạo cho người dùng sftp. Chủ sở hữu và nhóm của /home/sftpnguồn gốc chỉ với quyền ghi cho chủ sở hữu (0711).

$ chown root:root /home/sftp
$ chmod 0711/nhà/sftp

Đây là cách tôi tạo người dùng (trong ví dụ này, người dơi) -- lưu ý rằng tôi đang thực hiện việc này thông qua tập lệnh Perl, do đó tôi sử dụng chpasswd:

$ adduser --quiet --disabled-password --shell /bin/false --no-create-home --gecos "Người dùng" batman
$ tiếng vang "người dơi:người dơi123" | chpasswd
$ usermod -a -G sftponly batman
$ cài đặt -d -m 0755 /home/sftp/batman -o batman -g sftponly

Lưu ý: Tôi đang tạo thư mục chính của người dùng theo cách thủ công thay vì chuyển --hệ thống tranh luận cho thêm người dùng, vì cuối cùng tôi gặp lỗi khi thử và thay đổi quyền sở hữu thư mục:

chown: nhóm không hợp lệ: âbatman:batmanâ

Nếu tôi cập nhật sshd_config, và thay đổi thư mục chroot thành:

ChrootDirectory /home/sftp

Tôi có thể truy cập máy chủ thành công và không còn nhận được lỗi đường ống bị hỏng nữa. Tuy nhiên, tôi hạ cánh ở /home/sftp khi đăng nhập, nơi tôi thấy danh sách tất cả các thư mục người dùng khác, thay vì truy cập vào /home/sftp/người dơi như tôi mong đợi sẽ xảy ra.

Làm cách nào tôi có thể cải thiện/sửa lỗi này để người dùng:

  • chỉ có quyền truy cập vào thư mục riêng của họ (/home/sftp/người dơi)
  • khi đăng nhập, sẽ xuất hiện trong vòng / (mà thực ra là /home/sftp/người dơi)
  • không thể điều hướng đến /home/sftp (để họ không thể nhìn thấy danh sách những người dùng khác)
Điểm:0
lá cờ at

Tôi đã quản lý để thực hiện điều này bằng cách áp dụng các quyền sau:

$ chown batman:sftponly /home/sftp/batman
$ chmod 0755/home/sftp/người dơi
$ chmod 0711/nhà/sftp

Sau đó thay đổi Thư mục Chroot từ /home/sftp/%u đến /home/sftp,

Và cuối cùng chuyển người dùng vào thư mục chính của họ khi đăng nhập:

ForceCommand internal-sftp -d /%u

Bây giờ thì ở đâu người dơi đăng nhập, họ hạ cánh trong /home/sftp/người dơi, xuất hiện dưới dạng /người dơi cho người dùng. Quan trọng hơn, nếu họ cố gắng rút lui vào /home/sftp, họ nhận được lỗi (do đó ngăn họ xem các thư mục người dùng khác):

Thư mục /: quyền bị từ chối - Không thể truy xuất danh sách thư mục

Đă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.