如何允许用户在系统之间进行文件 xfer,但不允许 ssh,而不更改其 shell

如何允许用户在系统之间进行文件 xfer,但不允许 ssh,而不更改其 shell

标题笨重,但想澄清它与这个问题之前的变体不同。以下是参数:

  • 用户通过 LDAP 进行身份验证的 HPC 集群
  • 他们可能会使用交互式登录某些节点
  • 我们希望他们能够通过 sftp、scp 或其他安全的方式与 $home 所在的文件服务器进行传输
  • ...但他们不应该拥有对该服务器的 ssh 访问权限。

我见过的针对此问题的大多数解决方案都涉及将用户的 shell 更改为限制性的内容。他们没有本地帐户,因此无法更改 LDAP 中的基线 shell,因为他们有正常的 shell 登录到交互节点。

同时,我们希望它们从中传输的目标服务器确实允许从特定的系统管理员帐户进行 shell 登录,因此我无法使用该选项在系统级别强制使用 sftp 等。

剩下什么?任何事物?谢谢!

答案1

如果用户有一些识别标记(如组成员身份)来指示他们是否应该进行交互式登录,您可以放置​​一个文件来/etc/profile.d检查用户是否是适当组的成员。如果未通过测试,请运行exit命令。

您不必使用组成员身份,这只是一个示例。如果您有一个可接受用户的静态列表也可以。

这个想法是,配置文件脚本仅作为交互式登录的一部分运行,从而允许在不授予 shell 的情况下进行文件传输。

相关内容