在Debian上配置SFTP用戶權限,可以通過以下步驟實現:
首先,確保你的Debian系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install openssh-server
創建一個新的用戶,并為其設置密碼。例如,創建一個名為sftpuser
的用戶:
sudo adduser sftpuser
編輯/etc/ssh/sshd_config
文件,添加或修改以下配置:
sudo nano /etc/ssh/sshd_config
在文件中找到或添加以下內容:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
創建一個新的用戶組sftpusers
,并將sftpuser
添加到該組:
sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
確保SFTP用戶的家目錄及其所有父目錄的權限設置正確,以便用戶只能訪問自己的家目錄。例如,設置sftpuser
的家目錄權限:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
然后,為sftpuser
的家目錄創建一個子目錄,用于存放用戶的文件:
sudo mkdir /home/sftpuser/uploads
sudo chown sftpuser:sftpusers /home/sftpuser/uploads
sudo chmod 755 /home/sftpuser/uploads
保存并關閉sshd_config
文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用SFTP客戶端連接到服務器,驗證配置是否正確:
sftp sftpuser@your_server_ip
如果一切配置正確,你應該能夠成功連接到服務器,并且只能訪問/home/sftpuser/uploads
目錄。
通過以上步驟,你可以在Debian上配置SFTP用戶權限,確保用戶只能訪問指定的目錄,并且不能進行SSH登錄。