在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进行交互。