CentOS安装SFTP

1、创建专用用户组

sudo groupadd sftpgroup  # 创建组用于统一管理SFTP用户[1,6](@ref)

2、​添加用户并限制Shell

sudo useradd -m -d /data/sftpusr/sftpdata01 -G sftpgroup -s /sbin/nologin sftpdata01    # 指定家目录并禁止SSH登录[8](@ref) 
sudo passwd sftpdata01 # 设置用户密码

3、​初始化目录权限

sudo chown root:root /data/sftpusr/            # Chroot主目录必须归属root[3,6](@ref)
sudo chmod 755 /data/sftpusr/                  # 权限需为755以保证安全性

4、​修改SSH服务限制

(1)修改sshd_config文件
# 原SFTP配置已注释
#Subsystem sftp  /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# 其他原有配置...

# 用户sftpdata01的隔离配置
Match User sftpdata01
   ChrootDirectory /data/sftpusr/
   ForceCommand internal-sftp
   AllowTcpForwarding no
   X11Forwarding no
   PermitTTY no

5、​​创建用户可写子目录

sudo mkdir /data/sftpusr/sftpdata01
sudo chown sftpdata01:sftpgroup /data/sftpusr/sftpdata01     # 允许用户上传文件[1,7](@ref)
sudo chmod 770 /data/sftpusr/sftpdata01     # 组内用户可读写

6、​调整SELinux策略

sudo chcon -t sshd_chroot_t /data/sftpusr/sftpdata01  # 修改目录安全上下文[6](@ref)
sudo setsebool -P ssh_chroot_rw_homedirs on           # 允许Chroot目录读写

7、​​​放行SFTP端口

sudo firewall-cmd --permanent --add-service=ssh  # 开放22端口(默认SFTP端口)
sudo firewall-cmd --reload

8、重启SSH服务

sudo systemctl restart sshd  # 应用配置[2,6](@ref)

 

posted @ 2025-05-13 14:20  今天早点睡  阅读(148)  评论(0)    收藏  举报