我希望这是正确的论坛,并原谅天真的问题。
我想提供一个“访客”登录到(非专用)Linux服务器并只运行一个控制台应用程序。除了使用此应用程序之外,用户无法执行任何操作。场景可能是:
ssh dervinATsomehost.com (no password)
并且只是自动执行shell应用程序,比如说
Welcome to Dervin's shell.
Dervin$
当用户说退出时,整个连接将会丢失,而不仅仅是应用程序。
这似乎相对简单,但我不知道从哪里开始。
感谢。
[注意我也在Serverfault上发布了这个。不知道哪个论坛是最好的。如果不相关,请随意关闭。]
答案 0 :(得分:3)
您可以在/etc/passwd
中将所需的应用程序设置为用户的shell。
因此,当用户登录时,他们直接进入应用程序而不是bash
会话。
答案 1 :(得分:0)
我想首先你要选择一种语言来工作。像Scheme eval
这样的代码评估函数使得REPL的“E”部分更容易。除此之外,它只是读取用户输入并打印评估结果。然后循环,当然。
答案 2 :(得分:0)
您肯定希望将ssh密钥分发给每个人,或者让他们生成自己的密钥,然后将这些密钥分发给您。将要执行的程序添加到/ etc / shells中的列表中,并对这些用户使用chsh将shell更改为该程序。