在CentOS系統上配置SFTP以實現多用戶隔離,通常涉及以下幾個步驟:
創建SFTP用戶組:
創建一個專門用于SFTP用戶的組,例如 sftponly
。
sudo groupadd sftponly
創建SFTP用戶:
創建用戶并將其添加到 sftponly
組中。用戶的家目錄應設置為只讀權限,以防止用戶修改。
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
sudo passwd username
配置SSH:
編輯 /etc/ssh/sshd_config
文件,添加或修改以下配置:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這里 %h
表示用戶的家目錄。確保這些目錄由root用戶擁有,并且權限設置為755。
設置目錄權限:
用戶的家目錄必須由root擁有,并且權限設置為755。如果用戶需要寫入權限,可以在其家目錄下創建特定的目錄,并設置相應的權限。
sudo chown root:root /home/username
sudo chmod 755 /home/username
sudo mkdir /home/username/upload
sudo chown username:sftponly /home/username/upload
sudo chmod 755 /home/username/upload
重啟SSH服務:
保存配置文件后,重啟SSH服務以應用更改。
sudo systemctl restart sshd
測試配置:
使用SFTP客戶端嘗試登錄,確保用戶只能訪問其家目錄。
以上步驟可以實現CentOS系統上SFTP的多用戶隔離,確保每個用戶只能訪問其指定的目錄,從而提高系統的安全性。