在Debian系統中,設置SFTP(SSH File Transfer Protocol)權限通常涉及以下幾個方面:
用戶和組權限:
sftpusers
。usermod
命令將用戶添加到該組:sudo usermod -aG sftpusers username
SSH配置:
/etc/ssh/sshd_config
文件,確保以下配置項正確設置:Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory %h
將用戶的根目錄限制在其主目錄中。ForceCommand internal-sftp
強制使用SFTP而不是SSH shell。AllowTcpForwarding no
和X11Forwarding no
禁用了TCP和X11轉發,以提高安全性。目錄權限:
sudo chown root:root /home/username
sudo chmod 755 /home/username
sudo chown username:sftpusers /home/username/upload
sudo chmod 755 /home/username/upload
sudo chown username:sftpusers /home/username/download
sudo chmod 755 /home/username/download
SELinux/AppArmor(如果啟用):
重啟SSH服務:
sudo systemctl restart sshd
通過以上步驟,你可以設置Debian系統中SFTP用戶的權限,確保他們只能訪問指定的目錄,并且不能通過SSH shell進行交互。