溫馨提示×

怎樣在CentOS上設置SFTP限制

小樊
78
2025-03-11 14:33:14
欄目: 智能運維

在CentOS上設置SFTP限制,可以通過配置SSH服務器來實現。以下是一些常見的限制方法:

1. 限制用戶訪問特定目錄

你可以通過修改SSH配置文件/etc/ssh/sshd_config來限制用戶只能訪問特定目錄。

  1. 打開/etc/ssh/sshd_config文件:

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改以下配置:

    Match User <username>
        ChrootDirectory /path/to/restricted/directory
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    <username>替換為你要限制的用戶名,將/path/to/restricted/directory替換為你希望用戶訪問的目錄路徑。

  3. 保存并退出編輯器。

  4. 重啟SSH服務以應用更改:

    sudo systemctl restart sshd
    

2. 限制用戶使用SFTP

如果你希望完全禁止用戶使用SSH,只允許他們使用SFTP,可以這樣做:

  1. 打開/etc/ssh/sshd_config文件:

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改以下配置:

    Match User <username>
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    <username>替換為你要限制的用戶名。

  3. 保存并退出編輯器。

  4. 重啟SSH服務以應用更改:

    sudo systemctl restart sshd
    

3. 限制用戶上傳和下載速度

你可以使用tc(Traffic Control)工具來限制用戶的上傳和下載速度。

  1. 安裝tc工具(如果尚未安裝):

    sudo yum install iproute
    
  2. 創建一個腳本來設置速度限制。例如,創建一個名為set_speed_limit.sh的腳本:

    sudo vi /usr/local/bin/set_speed_limit.sh
    
  3. 在腳本中添加以下內容:

    #!/bin/bash
    
    USER=$1
    UPLOAD_LIMIT="100kbit"
    DOWNLOAD_LIMIT="100kbit"
    
    tc qdisc add dev eth0 root handle 1: htb default 30
    tc class add dev eth0 parent 1: classid 1:1 htb rate $DOWNLOAD_LIMIT
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate $UPLOAD_LIMIT
    
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst <user_ip> flowid 1:10
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src <user_ip> flowid 1:1
    

    <user_ip>替換為用戶的IP地址。

  4. 賦予腳本執行權限:

    sudo chmod +x /usr/local/bin/set_speed_limit.sh
    
  5. 在用戶登錄時運行腳本。你可以在/etc/profile.d/目錄下創建一個腳本來實現這一點:

    sudo vi /etc/profile.d/speed_limit.sh
    
  6. 在腳本中添加以下內容:

    #!/bin/bash
    /usr/local/bin/set_speed_limit.sh $USER
    
  7. 賦予腳本執行權限:

    sudo chmod +x /etc/profile.d/speed_limit.sh
    
  8. 重啟SSH服務以應用更改:

    sudo systemctl restart sshd
    

通過以上步驟,你可以根據需要限制用戶在CentOS上的SFTP訪問權限和速度。

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