本文将指导您如何在Linux系统中为SFTP用户设置权限,确保安全访问。
$ groupadd sftpusers
$ useradd -s /bin/false -G sftpusers test
Subsystem sftp internal-sftp
在文件末尾添加以下配置,限制sftpusers
组的用户只能访问其主目录:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
保存并关闭文件。
chown root ~test
$ systemctl restart sshd
$ sftp test@localhost
您应该只能访问test
用户的主目录。 尝试使用SSH登录将会被拒绝。
常见问题排查:
如果连接时出现“Write failed: Broken pipe
”或“Couldn't read packet: Connection reset by peer
”错误,这通常是由于ChrootDirectory
权限问题导致的。 请确保SFTP用户主目录的所有者为root
,权限设置为750
或755
。