我正在构建一个在服务器上使用命令行的web API。此命令执行某些构建任务,并具有许多可选参数
我对构建rest API来处理所有参数并规避/验证存在的所有安全风险并不是很满意……
有没有什么办法可以将某个进程/程序或用户只运行一个命令列入白名单?
或者可以像验证命令一样简单,如果它包含;,如果它确实包含>认为它运行不安全?
或者你能创建一个小沙箱吗?
发布于 2013-11-20 06:21:10
您可以在您的服务器上创建一个用户(登录帐户),在他登录时运行您的白名单命令,而不是常规的shell,如果您是这个意思的话。
例如,我曾经在一些网站上工作过,那里有一个名为"reset“的用户帐户,另一个名为"mountall”。因此,如果您知道该帐户的密码,那么当您登录时,某些数据库将被重置,您将被注销,或者/etc/fstab中的所有文件系统都将被挂载,然后您将被注销。
https://stackoverflow.com/questions/20083022
复制相似问题