我更喜欢创建一个用户组sftp
并将该组中的用户限制在他们的主目录中。
首先,编辑您的/etc/ssh/sshd_config
文件并将其添加到底部。
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
这告诉 OpenSSH sftp 组中的所有用户都将被 chroot 到他们的主目录(%h
在 ChrootDirectory 命令中表示)
添加一个新的 sftp 组,将您的用户添加到该组,限制他的 ssh 访问并定义他的主目录。
groupadd sftp
usermod username -g sftp
usermod username -s /bin/false
usermod username -d /home/username
重启ssh:
sudo service ssh restart
如果您仍然遇到问题,请检查主目录上的目录权限是否正确。为您的设置适当调整 755 值。
sudo chmod 755 /home/username
编辑:根据您问题的详细信息,您似乎只是缺少 sshd_config 部分。在您的情况下,请替换sftp
为sftpexport
. 还要确保该/u02/export/cdrs
目录上的文件权限是可访问的。
一个更好的设置(还有比我要建议的更好的设置)是将/u02/export/cdrs
目录符号链接到用户主目录。