在Debian系統中,使用OpenSSH服務器提供SFTP服務。要限制用戶的訪問權限,可以通過以下方法實現:
sudo adduser sftp_user
按照提示設置密碼和其他信息。
/etc/passwd
文件,找到sftp_user的用戶條目,將其家目錄更改為一個特定的目錄,例如/home/sftp_user
。sftp_user:x:1001:1001::/home/sftp_user:/bin/false
sudo mkdir /home/sftp_user/files
sudo chown sftp_user:sftp_user /home/sftp_user/files
/etc/ssh/sshd_config
文件,找到或添加以下內容:Match User sftp_user
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這將限制sftp_user用戶只能訪問其家目錄(在這種情況下為/home/sftp_user
)。
sudo systemctl restart ssh
現在,sftp_user用戶應該只能通過SFTP訪問,并且只能訪問其家目錄和子目錄/home/sftp_user/files
。請注意,您可以根據需要為其他用戶重復此過程,只需為每個用戶創建一個單獨的條目并相應地調整路徑即可。