我可以限制 SSH 访问 cPanel 服务器上的特定文件夹吗?

我可以限制 SSH 访问 cPanel 服务器上的特定文件夹吗?

我有一个 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 就是为此目的而设计的工具集,用于监禁用户。设置非常简单。

http://olivier.sessink.nl/jailkit/

答案3

我最终只是创建了一个新的 cPanel 帐户,并将我希望他们访问的文件放在其中。不过还是感谢您的回答,让我对 Chroot 有了更多的了解!

答案4

我认为您可以使用受限 shell,它将所有内容限制在自定义目录中。它将拒绝处理其外部的内容。

相关内容