Linux 限制 telnet 和 rs323 用户只能运行少数程序

Linux 限制 telnet 和 rs323 用户只能运行少数程序

我刚刚完成了一个嵌入式 Linux 视频服务器。其中一个功能是,我有一个 telnet 服务器以及绑定到 rs232 端口的 getty,用户可以登录该端口来调用我为服务器配置目的编写的一些程序。如果出于某种原因,我开发的 SDK 无法正常工作,或者用户刚购买了服务器,但没有程序员来使用 SDK,那么这将成为用户的后门。还有一个 Web 界面,但无论如何,规范说我必须有一个。

例如,我编写了一个名为 getIp 的程序,它允许用户检索网络设置,并编写了一个名为 setIp 的程序,它允许用户设置 IP。对于我的基于 .NET 的 API 已经实现的每个功能,我都有一个类似的程序或脚本。

但是,我不希望他们能够运行除这些程序之外的任何程序。也就是说,我甚至不希望“ls”或“cd”起作用。我会给他们一个用户名,比如“admin”,以便他们登录会话。问题是,我如何设置这些限制?

答案1

编写一个程序,只向用户提供您希望他们拥有的选项。让该程序成为他们登录的用户的 shell。

相关内容