我正在构建一个在服务器上使用命令行的Web API。 此命令执行某些构建任务,并且它有许多可选参数
我不是很高兴构建一个rest API来处理所有参数并转义/验证所有安全风险......
无论如何,您是否可以将一个命令列入白名单以由某个进程/程序或用户运行?
或者它可以像验证命令一样容易,如果它包含;
,如果它是剂量>认为运行不安全?
或者你可以创建一个小沙箱吗?
答案 0 :(得分:0)
您可以在服务器上创建一个用户(登录帐户),用户在登录时运行您的白名单命令而不是常规shell,如果这就是您的意思。
例如,我曾在一些名为“reset”的用户帐户和另一个名为“mountall”的用户工作过。因此,如果您知道该帐户的密码,那么当您登录时,某些数据库会被重置,您将被注销,或者/ etc / fstab中的所有文件系统都会被挂载,然后您就会被注销。