在CentOS系統中,配置SFTP用戶權限通常涉及編輯SSH配置文件(/etc/ssh/sshd_config
)和使用chroot
環境來限制用戶的訪問范圍。以下是詳細的步驟:
首先,打開SSH配置文件:
sudo vi /etc/ssh/sshd_config
確保以下行沒有被注釋掉,并且正確配置:
Subsystem sftp /usr/libexec/openssh/sftp-server
創建一個專門用于SFTP用戶的組:
sudo groupadd sftpusers
添加一個新用戶并將其添加到sftpusers
組中。例如,添加用戶username
:
sudo useradd -m -G sftpusers username
sudo passwd username
在提示輸入密碼時,輸入并確認密碼。
為了限制用戶的訪問范圍,可以使用chroot
環境。首先,確保/home/username
目錄的所有者是root:
sudo chown root:root /home/username
然后,創建一個子目錄供用戶訪問:
sudo mkdir /home/username/upload
sudo chown username:sftpusers /home/username/upload
編輯/etc/ssh/sshd_config
文件,添加或修改以下內容:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory %h
:將用戶的根目錄限制在其主目錄中。ForceCommand internal-sftp
:強制使用SFTP而不是SSH。AllowTcpForwarding no
和 X11Forwarding no
:禁用TCP和X11轉發,增加安全性。保存并關閉sshd_config
文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用SFTP客戶端連接到服務器,驗證配置是否正確:
sftp username@your_server_ip
如果一切配置正確,你應該能夠登錄并只能訪問/home/username/upload
目錄。
通過以上步驟,你可以成功配置CentOS系統中的SFTP用戶權限,并限制用戶的訪問范圍。