Trong Ubuntu GNU / Linux 12.04, tôi có một người dùng johndoe
là một phần của một sftponly
nhóm, được thiết lập để sftp
vào chroot
tù 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 home
thư mục được đặt tên root
mà 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 chroot
nhà 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/false
không làm việc với một trong hai ssh
hoặc sftp
. Với nologin
như vỏ ssh
kết nối, chương trình "motd", và sau đó ngắt kết nối, đó là hành vi mong đợi.)
Nhưng sftp
thấ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ì sftp
mong đợ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 no
vàPrintMotd no
kết thúc/etc/ssh/ssh_config
và khởi động lạissh
bằng cách sử dụngrestart ssh
. ( Không có hiệu lực . Thử nghiệm vớissh
hiển thị cả "MOTD" và "Đăng nhập lần cuối:".)Bình luận
session optional pam_motd.so
trong/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 đósftp
vẫn không thành công .)Bình luận ra
session optional pam_lastlog.so
vàsession optional pam_motd.so
vào/etc/pam.d/login
. ( Không có hiệu lực . Thử nghiệm vớissh
hiển thị cả MOTD và "Đăng nhập lần cuối:".)Tạo
.hushlogin
tậ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 sftp
và không ssh
đăng nhập, nhưng, tôi tưởng tượng như là sftp
sử dụng ssh
, tin nhắn sẽ ở đó cho cả hai hoặc không)?