溫馨提示×

如何限制CentOS SFTP用戶的訪問權限

小樊
52
2025-03-17 15:43:22
欄目: 智能運維

在CentOS系統中,限制SFTP用戶的訪問權限可以通過配置SSH和SFTP來實現。以下是一些常見的方法:

方法一:使用Chroot Jail

Chroot Jail可以將用戶的根目錄限制在一個特定的目錄中,從而限制用戶對系統其他部分的訪問。

  1. 安裝必要的軟件包

    sudo yum install openssh-server
    
  2. 創建SFTP用戶

    sudo adduser sftpuser
    sudo passwd sftpuser
    
  3. 配置SSHD配置文件: 編輯/etc/ssh/sshd_config文件,添加或修改以下內容:

    Subsystem sftp internal-sftp
    
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  4. 創建SFTP用戶組并添加用戶

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers sftpuser
    
  5. 設置Chroot目錄的權限: 確保Chroot目錄及其所有父目錄的權限設置正確:

    sudo chown root:root /home/sftpuser
    sudo chmod 755 /home/sftpuser
    
  6. 創建用戶的實際工作目錄

    sudo mkdir /home/sftpuser/upload
    sudo chown sftpuser:sftpuser /home/sftpuser/upload
    
  7. 重啟SSH服務

    sudo systemctl restart sshd
    

方法二:使用sshd_config的Match指令

你也可以直接在sshd_config文件中使用Match指令來限制用戶的訪問權限。

  1. 編輯sshd_config文件

    sudo vi /etc/ssh/sshd_config
    
  2. 添加Match指令

    Match User sftpuser
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  3. 重啟SSH服務

    sudo systemctl restart sshd
    

方法三:使用SELinux

如果你啟用了SELinux,可以通過配置SELinux策略來進一步限制SFTP用戶的訪問權限。

  1. 安裝SELinux管理工具

    sudo yum install policycoreutils-python
    
  2. 設置SELinux上下文

    sudo chcon -Rv --reference=/var/www/html /home/sftpuser
    sudo restorecon -Rv /home/sftpuser
    
  3. 配置SELinux策略: 編輯/etc/selinux/config文件,確保SELinux處于 enforcing 模式:

    SELINUX=enforcing
    
  4. 重啟系統

    sudo reboot
    

通過以上方法,你可以有效地限制CentOS系統中SFTP用戶的訪問權限,確保系統的安全性和穩定性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女