REPL控制台应用程序服务

时间:2009-06-12 19:18:58

标签: linux service console

我希望这是正确的论坛,并原谅天真的问题。

我想提供一个“访客”登录到(非专用)Linux服务器并只运行一个控制台应用程序。除了使用此应用程序之外,用户无法执行任何操作。场景可能是:

      ssh dervinATsomehost.com (no password)

并且只是自动执行shell应用程序,比如说

       Welcome to Dervin's shell.
       Dervin$

当用户说退出时,整个连接将会丢失,而不仅仅是应用程序。

这似乎相对简单,但我不知道从哪里开始。

感谢。

[注意我也在Serverfault上发布了这个。不知道哪个论坛是最好的。如果不相关,请随意关闭。]

3 个答案:

答案 0 :(得分:3)

您可以在/etc/passwd中将所需的应用程序设置为用户的shell。

因此,当用户登录时,他们直接进入应用程序而不是bash会话。

答案 1 :(得分:0)

我想首先你要选择一种语言来工作。像Scheme eval这样的代码评估函数使得REPL的“E”部分更容易。除此之外,它只是读取用户输入并打印评估结果。然后循环,当然。

答案 2 :(得分:0)

您肯定希望将ssh密钥分发给每个人,或者让他们生成自己的密钥,然后将这些密钥分发给您。将要执行的程序添加到/ etc / shells中的列表中,并对这些用户使用chsh将shell更改为该程序。