這是我不久前研究過的,並找到了一些有用的信息......但現在我實際上需要這樣做,當然我再也找不到我看到的指南了。
無論如何,情況是這樣的。我有一個透過 SSH 使用 ncurses 選單運行的程式。我希望用戶能夠透過 SSH 登入該程序,但僅限於該程序。
我必須做什麼才能使這種情況成為可能?
- 用戶打開 Putty
- 使用者使用使用者名稱和密碼登入 Linux 伺服器
- 登入時,他們直接進入該程式
- 即使程式關閉、崩潰、取消等,用戶也會被強制從系統登出。
我的目標是完全限制他們看到命令行,並且僅限於該程式。這可能嗎?我/我將如何做?
答案1
這也稱為強制登入。
將程式的執行和退出附加到使用者的 ~/.profile 中。
exec /usr/local/bin/program
exit
聰明的使用者知道他們可以在 ssh 用戶端中提供一個不是您期望的 shell 的命令。使用 sshd 配置中的 ForceCommand 來防止這種情況發生:
部隊指揮部
強制執行由 ForceCommand 指定的命令,忽略客戶端和 ~/.ssh/rc(如果存在)提供的任何命令。該命令是透過使用使用者的登入 shell 和 -c 選項來呼叫的。這適用於 shell、命令或子系統執行。它在 Match 區塊內最有用。
Match Group programusers
ForceCommand /usr/local/bin/program