2009-06-12 208 views
0

我希望这是适合这个的论坛,并推the这个天真的问题。REPL控制台应用程序服务

我想提供一个“来宾”登录到(非专用)linux服务器并运行一个控制台应用程序。除了使用这个应用程序,用户无法做任何事情。一个场景可能是:

 ssh dervinATsomehost.com (no password) 

和只是自动执行shell程序,比方说

 Welcome to Dervin's shell. 
     Dervin$ 

当用户说出口,整个连接将下降,而不仅仅是应用。

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

谢谢。

[注意我已经发布此Serverfault也。不知道哪个论坛是最好的。如果不相关,请随时关闭。]

+0

选择一个或另一个,如果它属于另一个网站,它将被迁移到那里。 – 2009-06-12 20:42:29

回答

3

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

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

+0

是的,这是最安全的,并且经常被专业的主机使用。 – wvdschel 2009-06-13 07:33:18

0

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

0

你一定要将ssh密钥分发给每个人,或让他们自己创建密钥,并将这些密钥给你。将要执行的程序添加到/ etc/shells中的列表中,并在这些用户上使用chsh将shell更改为该程序。

相关问题