![我可以限制 SSH 访问 cPanel 服务器上的特定文件夹吗?](https://linux22.com/image/527772/%E6%88%91%E5%8F%AF%E4%BB%A5%E9%99%90%E5%88%B6%20SSH%20%E8%AE%BF%E9%97%AE%20cPanel%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%97%EF%BC%9F.png)
我有一个 cPanel 服务器,我想允许用户通过 SSH/SFTP/SCP 访问一个特定文件夹,可以吗?
我已经为他们设置了该文件夹的 FTP 访问权限,但是 SSH 访问权限会更好。
欢迎任何建议。
答案1
SSH 本质上需要另一侧的一些系统部件,因此这比您想象的要难。它不是像 ftp 那样的协议,只是为您处理文件,而实际上是一个远程 shell,让您进入可以运行命令的机器。这种预先假设有一台机器可以进入。如果您尝试将连接限制在特定文件夹,那么您就相当于拿走了机器,SSH 就不再有用了。
解决方案是chroot
,代表“更改根”。基本上,您需要创建一个小“气泡”文件夹,其中包含您的文件和系统的基本轮廓,包括一些命令和库。它被称为“chroot jail”,因为它是一个小型的自给自足的牢房,您可以将人们锁在其中,这样他们就无法干扰主机系统,但可以像拥有 shell 一样做一些事情。
但是,chroot jails 的设置和管理非常麻烦,如果你是一个 cpanel 用户,我猜这比你想投入的工作要多。
您可能能够使用的一个快捷方式是,许多 ssh 守护程序都内置了 sftp 守护程序,它们使用 ssh 的传输和身份验证安全性,而在您进入时不向您提供 shell 部分,只是一个类似 ftp 的系统。不幸的是,您必须克服一些困难才能确保 scp/ssh 位也被禁用。实际上,不向人们提供 shell 而向他们提供 chroot 的 sftp 访问权限相当棘手。
我不知道如何在 cPanel 上执行此操作,但至少这可以为您提供开始查找的方向。
编辑:经过一番搜索,我发现 cPanel 内置了一些 chroot 配置。它称之为 jailshell。你可能需要研究一下!
答案2
不要手动进行 chroot。这很困难,并且可能会导致安全漏洞。
Jailkit 就是为此目的而设计的工具集,用于监禁用户。设置非常简单。
答案3
我最终只是创建了一个新的 cPanel 帐户,并将我希望他们访问的文件放在其中。不过还是感谢您的回答,让我对 Chroot 有了更多的了解!
答案4
我认为您可以使用受限 shell,它将所有内容限制在自定义目录中。它将拒绝处理其外部的内容。