我在 Linux 的 Debian 版本上运行 SSH 服务器。当我连接到服务器时,我可以访问整个笔记本电脑的文件。当我登录时,我可以访问的文件位置是:“/home/myuser”,但我想更改它,这样,当您登录服务器时,我希望有多个用户,并且每个用户都有自己的文件夹可以访问和编辑。服务器文件夹的一个示例是:“/home/myuser/serverfolder”,在“/home/myuser/serverfolder”中,每个用户都有一个文件夹。
我该如何做到上述所解释的事情呢?
答案1
在/etc/ssh/sshd_config
文件中添加以下内容:
Match user myuser
PasswordAuthentication yes
ChrootDirectory /home/myuser/serverfolder
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
请注意你也必须改变这一点:
Subsystem sftp /usr/lib/openssh/sftp-server
对此
Subsystem sftp internal-sftp
在同一个/etc/ssh/sshd_config
文件中。
更改完成后,不要忘记重新启动 ssh:sudo service ssh restart
您还应该确保用户拥有您希望他们能够访问的目录,但不拥有父目录:
sudo chown root:root /home/myuser/
sudo chown myuser:myuser /home/myuser/serverfolder -R