centos stream 9搭建sftp文件服务器
1.创建存储目录
mkdir -p /data/pcaps mkdir -p /data/pcaps/upload
2.创建 SFTP 专用用户
1.创建用户组 groupadd sftpusers 2.创建专用账号 useradd -g sftpusers -d /data/pcaps -s /sbin/nologin pcapuser passwd pcapuser 3.根据 SFTP chroot 要求调整权限 chroot 根目录必须 root 拥有,不能被普通用户写,真实上传目录挂在下面 chown root:root /data/pcaps chmod 755 /data/pcaps 4.实际上传目录给 pcapuser chown pcapuser:sftpusers /data/pcaps/upload chmod 750 /data/pcaps/upload
3.配置 sshd 实现“只允许 SFTP,且 chroot”
1.找到原来的 Subsystem 行 vim /etc/ssh/sshd_config 把 Subsystem sftp /usr/libexec/openssh/sftp-server 改成 Subsystem sftp internal-sftp 2.在文件 末尾追加 一段 Match 规则(只对 sftpusers 组生效) Match Group sftpusers ChrootDirectory /data/pcaps ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no sftpusers 组用户登录时被 chroot 到 /data/pcaps 强制执行 SFTP,不允许普通 shell 禁止端口转发/X11 等高级功能 3.重新加载 SSH systemctl restart sshd
4.客户端测试上传
sftp pcapuser@10.10.10.1 sftp> pwd sftp> ls upload sftp> cd upload sftp> put /var/log/suricata/pcap/test.pcap sftp> bye

浙公网安备 33010602011771号