我刚刚完成了一个embedded式Linuxvideo服务器。 其中一个特点是我有一个telnet服务器以及getty绑定到一个rs232端口,用户可以login来调用我为服务器configuration目的而编写的几个程序。 如果由于某些原因,我开发的SDK不能正常工作,或者他们只是购买了服务器,并且没有一个程序员来使用SDK,那么这就是用户的后门。 还有一个networking界面,但是无论如何,规范说我必须有一个。
因此,例如,我写了一个名为getIp的程序,它允许用户检索networking设置,setIp允许他们设置IP。 我有一个类似的程序或脚本,为我的基于.NET的API已经做的每个function。
但是,我不希望他们能够运行除这些以外的任何程序。 即我甚至不想'ls'或'cd'工作。 我会给他们一个用户名称,说“pipe理员”,login到会话。 问题是,我如何设置这些限制?
写一个程序,只给用户你希望他们拥有的选项。 将该程序作为login用户的shell。