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

 

posted @ 2025-11-14 17:37  岐岐卡卡西  阅读(7)  评论(0)    收藏  举报