部隊指揮部

部隊指揮部

這是我不久前研究過的,並找到了一些有用的信息......但現在我實際上需要這樣做,當然我再也找不到我看到的指南了。

無論如何,情況是這樣的。我有一個透過 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

相關內容