在Debian系统中设置SFTP用户权限,可通过以下步骤操作:
安装SSH服务器
sudo apt update && sudo apt install openssh-server
创建SFTP用户并设置主目录权限
/etc/ssh/sshd_config中#PermitRootLogin prohibit-password):sudo adduser sftpuser
root,权限设为755(确保用户无法修改主目录结构):sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
配置SSH限制SFTP访问
编辑/etc/ssh/sshd_config,添加以下内容(限制用户仅能通过SFTP访问主目录):
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match User改为Match Group sftpusers,并提前创建用户组:sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
(可选)设置子目录权限
若需允许用户访问主目录下的特定子目录(如/home/sftpuser/upload),可单独设置权限:
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpusers /home/sftpuser/upload
sudo chmod 755 /home/sftpuser/upload
重启SSH服务生效
sudo systemctl restart sshd
验证连接
使用SFTP客户端连接测试:
sftp sftpuser@your_server_ip
确认用户仅能访问配置的目录,无法跳转至其他路径。
安全提示:
/etc/ssh/sshd_config中设置PasswordAuthentication no并注释#PubkeyAuthentication yes)。setfacl命令)。