温馨提示×

centos中sftp权限设置方法

小樊
42
2025-03-15 15:13:06
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS系统中,SFTP(SSH File Transfer Protocol)的权限设置主要涉及到以下几个方面:

1. 用户和组权限

  • 创建用户和组

    sudo adduser sftpuser
    sudo groupadd sftpusers
    sudo usermod -aG sftpusers sftpuser
    
  • 设置主目录权限: 确保SFTP用户的主目录权限设置正确,通常设置为755700

    sudo chown root:root /home/sftpuser
    sudo chmod 755 /home/sftpuser
    

2. SSH配置

  • 编辑SSH配置文件: 打开/etc/ssh/sshd_config文件。

    sudo vi /etc/ssh/sshd_config
    
  • 配置SFTP子系统: 确保有以下配置行,并且没有被注释掉:

    Subsystem sftp internal-sftp
    
  • 限制SFTP用户的访问: 可以使用ChrootDirectory指令将用户限制在其主目录中。

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  • 重启SSH服务: 应用配置更改后,重启SSH服务。

    sudo systemctl restart sshd
    

3. SELinux配置(如果启用)

  • 检查SELinux状态

    sestatus
    
  • 设置SELinux上下文: 如果SELinux处于 enforcing 模式,可能需要设置正确的文件系统上下文。

    sudo chcon -Rt svirt_sandbox_file_t /home/sftpuser
    
  • 永久设置SELinux上下文: 编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissive进行测试,确认无误后再改回enforcing

    sudo vi /etc/selinux/config
    

4. 防火墙配置

  • 开放SFTP端口: 确保防火墙允许SFTP流量(默认端口22)。
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    

5. 测试SFTP连接

  • 使用SFTP客户端连接: 使用sftp命令测试连接。
    sftp sftpuser@your_server_ip
    

通过以上步骤,你应该能够在CentOS系统中成功设置SFTP的权限和访问控制。如果有任何问题,请检查日志文件(如/var/log/secure)以获取更多信息。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:CentOS中SFTP权限如何设置

0