centos

centos sftp如何限制用户访问

小樊
42
2025-02-22 20:37:04
栏目: 智能运维
Centos服务器限时活动,0元免费领! 查看>>

在CentOS系统中,您可以使用OpenSSH服务器来设置SFTP,并通过配置文件来限制用户的访问。以下是一些步骤和示例配置,帮助您实现这一目标:

  1. 安装OpenSSH服务器(如果尚未安装):

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 创建一个新用户或使用现有用户

    sudo adduser sftpuser
    sudo passwd sftpuser
    
  4. 配置SSHD配置文件: 编辑/etc/ssh/sshd_config文件:

    sudo vi /etc/ssh/sshd_config
    
  5. 添加或修改以下配置: 在文件中找到或添加以下内容:

    # 限制SFTP用户的访问
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  6. 创建一个组并添加用户到该组

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers sftpuser
    
  7. 设置用户的家目录权限: 确保用户的家目录及其父目录的权限设置正确,以便ChrootDirectory能够正常工作:

    sudo chown root:root /home/sftpuser
    sudo chmod 755 /home/sftpuser
    
  8. 创建用户的实际工作目录

    sudo mkdir /home/sftpuser/upload
    sudo chown sftpuser:sftpuser /home/sftpuser/upload
    
  9. 重启SSH服务

    sudo systemctl restart sshd
    

通过以上步骤,您已经成功限制了SFTP用户的访问。现在,sftpuser只能访问其家目录下的upload目录,并且无法使用SSH的其他功能(如端口转发)。

验证配置

您可以通过以下步骤验证配置是否生效:

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

    sftp sftpuser@your_server_ip
    
  2. 尝试访问其他目录,应该会被拒绝:

    cd /
    
  3. 尝试使用SSH的其他功能,也应该会被拒绝:

    ssh sftpuser@your_server_ip
    

通过这些步骤,您可以确保SFTP用户的访问受到限制,并且只能访问指定的目录。

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

相关推荐:如何限制CentOS SFTP用户访问

0
看了该问题的人还看了