在CentOS系統中,您可以通過配置SSH和SFTP來限制用戶的訪問。以下是一些步驟和示例,幫助您實現這一目標:
安裝OpenSSH服務器(如果尚未安裝):
sudo yum install openssh-server
創建一個新的用戶或使用現有用戶: 如果您還沒有一個專門用于SFTP的用戶,可以創建一個新用戶:
sudo adduser sftpuser
sudo passwd sftpuser
配置SSH以限制SFTP訪問:
編輯SSH配置文件 /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
找到并修改以下行:
# 子系統 sftp 內置
Subsystem sftp /usr/libexec/openssh/sftp-server
確保沒有其他子系統配置干擾SFTP。
限制用戶訪問特定目錄:
您可以使用 ChrootDirectory
指令將用戶的根目錄限制在特定位置。編輯 /etc/ssh/sshd_config
文件,添加或修改以下行:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這將把 sftpuser
用戶的根目錄限制在 /home/sftpuser
,并且只允許SFTP訪問。
設置目錄權限:
確保 ChrootDirectory
指定的目錄及其所有父目錄的權限設置正確:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
對于 sftpuser
用戶的主目錄,確保其權限不允許寫入:
sudo chown sftpuser:sftpuser /home/sftpuser
sudo chmod 755 /home/sftpuser
重啟SSH服務: 使配置生效:
sudo systemctl restart sshd
通過以上步驟,您可以成功限制CentOS系統中的SFTP訪問,確保用戶只能訪問指定的目錄,并且不能進行SSH登錄或其他操作。