部队指挥

部队指挥

这是我之前研究过的东西,并且找到了一些有用的信息......但是现在我真的需要这样做,当然我再也找不到我看到的那个指南了。

无论如何,情况是这样的。我有一个通过 SSH 使用 ncurses 菜单运行的程序。我希望用户能够通过 SSH 登录到该程序,但只能登录到该程序。

我必须做什么才能使这种情况成为可能?

  • 用户打开Putty
  • 用户使用用户名和密码登录 Linux 服务器
  • 登录后,他们直接进入该程序
  • 即使程序关闭、崩溃、取消等,用户也会被强制退出系统。

我的目标是完全禁止他们查看命令行,并且仅限于该程序。这可能吗?我该怎么做?

答案1

这也称为强制登录。

将程序的执行和退出附加到用户的 ~/.profile 中。

exec /usr/local/bin/program
exit

聪明的用户知道他们可以在 ssh 客户端中提供一个不是您期望的 shell 的命令。使用 sshd 配置中的 ForceCommand 来防止这种情况:

部队指挥

强制执行 ForceCommand 指定的命令,忽略客户端提供的任何命令以及 ~/.ssh/rc(如果存在)。使用带有 -c 选项的用户登录 shell 调用该命令。这适用于 shell、命令或子系统执行。它在 Match 块中最有用。

Match Group programusers
    ForceCommand /usr/local/bin/program

相关内容