温馨提示×

CentOS SFTP配置权限如何设置

小樊
39
2025-10-17 14:41:02
栏目: 智能运维

在CentOS系统中,配置SFTP权限主要涉及编辑SSH配置文件和设置用户目录权限。以下是详细步骤:

1. 编辑SSH配置文件

  1. 打开SSH配置文件

    sudo vi /etc/ssh/sshd_config 
  2. 找到并修改以下配置项

    • 确保Subsystem sftp指向正确的SFTP服务器程序(通常是internal-sftp):
      Subsystem sftp internal-sftp 
    • 可以添加或修改Match块来限制特定用户的SFTP访问权限。例如,只允许特定用户使用SFTP:
      Match User your_username ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 
    • ChrootDirectory %h将用户的根目录限制在其主目录中。
    • ForceCommand internal-sftp强制使用SFTP而不是SSH shell。
    • AllowTcpForwarding noX11Forwarding no禁用了TCP和X11转发,增加安全性。
  3. 保存并退出: 按Esc键,然后输入:wq保存并退出。

2. 设置用户目录权限

  1. 确保用户的主目录权限正确

    sudo chown root:root /home/your_username sudo chmod 755 /home/your_username 
  2. 创建一个子目录用于SFTP上传

    sudo mkdir /home/your_username/uploads sudo chown your_username:your_username /home/your_username/uploads sudo chmod 755 /home/your_username/uploads 
  3. 设置SELinux上下文(如果启用了SELinux):

    sudo chcon -Rv --reference=/home/your_username/uploads /home/your_username 

3. 重启SSH服务

  1. 重启SSH服务以应用更改
    sudo systemctl restart sshd 

4. 测试SFTP连接

  1. 使用SFTP客户端连接到服务器

    sftp your_username@your_server_ip 
  2. 验证权限

    • 尝试列出主目录和上传目录的内容,确保权限设置正确。

通过以上步骤,你应该能够在CentOS系统上成功配置SFTP权限。如果有任何问题,请检查SSH配置文件和用户目录权限设置是否正确。

0