2009-06-12 207 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更改爲該程序。

相關問題