Trong Ubuntu GNU / Linux 12.04, tôi có một người dùng johndoelà một phần của một sftponlynhóm, được thiết lập để sftpvào chroottù bằng cách sử dụng
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
vào cuối /etc/ssh/ssh_config. Tất cả các thành phần của thư mục người dùng là các homethư mục được đặt tên rootmà không thể ghi bởi bất kỳ người dùng hoặc nhóm nào khác, như được giải thích trong man sshd_config(bên dưới ChrootDirectory). Trong chrootnhà tù của anh ta , có một thư mục có thể viết files:
sudo groupadd sftponly
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files
(Thiết vỏ để /bin/falsekhông làm việc với một trong hai sshhoặc sftp. Với nologinnhư vỏ sshkết nối, chương trình "motd", và sau đó ngắt kết nối, đó là hành vi mong đợi.)
Nhưng sftpthất bại với tin nhắn Received message too long 1416128883. Tôi biết thất bại này là do "MOTD" (Thông điệp của ngày), vì sftpmong đợi "đăng nhập sạch". Tôi đã thử vô hiệu hóa tất cả các phần "MOTD" trên máy chủ bằng cách sử dụng các mục sau, với ( các kết quả này ):
Thêm
PrintLastLog novàPrintMotd nokết thúc/etc/ssh/ssh_configvà khởi động lạisshbằng cách sử dụngrestart ssh. ( Không có hiệu lực . Thử nghiệm vớisshhiển thị cả "MOTD" và "Đăng nhập lần cuối:".)Bình luận
session optional pam_motd.sotrong/etc/pam.d/sshd. ( Ngăn chặn MOTD . Nhưng không có mục tương ứng cho "LastLog" vì vậy, thử nghiệm vớissh"Đăng nhập lần cuối:" vẫn hiển thị và do đósftpvẫn không thành công .)Bình luận ra
session optional pam_lastlog.sovàsession optional pam_motd.sovào/etc/pam.d/login. ( Không có hiệu lực . Thử nghiệm vớisshhiển thị cả MOTD và "Đăng nhập lần cuối:".)Tạo
.hushlogintập tin trên máy khách bằng cách sử dụngtouch ~/.hushlogin. ( Không có hiệu lực .)
Tôi không có ý kiến. Trường hợp khác có thể thông báo "Đăng nhập lần cuối:" này đến từ đâu và làm thế nào để nó có thể bị vô hiệu hóa (lý tưởng chỉ dành cho sftpvà không sshđăng nhập, nhưng, tôi tưởng tượng như là sftpsử dụng ssh, tin nhắn sẽ ở đó cho cả hai hoặc không)?