如何允许匿名 ssh 登录到 Linux 机器并且只运行一个程序?

如何允许匿名 ssh 登录到 Linux 机器并且只运行一个程序?

我在 Linux 服务器上安装了基于文本的游戏,我想允许通过 SSH 登录该服务器,但有一些限制。

登录应直接进入游戏,该游戏从标准输入读取键盘输入。如果游戏退出,用户应立即与服务器断开连接。或者,如果用户登录,则用户只能使用一个命令,即游戏。

我曾考虑过使用基于 Web 的界面来玩游戏,但感觉在终端上玩游戏感觉不错。请不要回复“这是一个坏主意……”或其变体,因为这是一个简单的解决办法。我只是想知道是否有人知道解决方案。

答案1

传统方法是编辑用户的登录脚本以陷阱中断,运行程序,然后注销。

您可以将用户的登录 shell 设置为受限 shell (man rksh) “Rksh 是命令解释器 ksh 的受限版本;它用于设置登录名和执行环境,其功能比标准 shell 更受控制。”或者在受限制的模式。

删除用户对其登录脚本(以及程序不需要写入的任何其他内容)的写权限。

为了额外的安全chroot用户。

答案2

也许您可以将游戏二进制文件设置为 /etc/passwd 中的登录 shell。

但我自己从来没有尝试过。

相关内容