下面以 CentOS 7 / 8 / Stream 为例,介绍 通过 SFTP 添加用户 的常见做法。
如果你只是想让该用户 只能使用 SFTP,不能 SSH 登录,我会重点说明。
useradd -m sftpuser
设置密码:
passwd sftpuser
如果只允许 SFTP,不允许 shell 登录:
usermod -s /sbin/nologin sftpuser
编辑 SSH 配置:
vi /etc/ssh/sshd_config
在文件末尾添加或修改:
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
✅
internal-sftp比sftp-server更稳定、安全
ChrootDirectory 必须满足:
root755chown root:root /home/sftpuser
chmod 755 /home/sftpuser
mkdir /home/sftpuser/upload
chown sftpuser:sftpuser /home/sftpuser/upload
chmod 755 /home/sftpuser/upload
用户登录后只能访问 upload 目录进行上传下载。
systemctl restart sshd
sftp sftpuser@服务器IP
检查:
/home/sftpuser 是否为 root 所有查看日志:
tail -f /var/log/secure
临时关闭:
setenforce 0
永久关闭:
vi /etc/selinux/config
SELINUX=disabled
/data/sftp我可以帮你写 多用户 + 统一目录 的完整配置方案。
如果你愿意,可以告诉我:
我可以给你 完全定制化的配置。