答案1
在 docker-bench-security.sh 中替换
req_progs='awk docker grep ss stat'
和
req_progs='awk docker grep lsof stat'
答案2
有几件事你应该清楚:-
sh 脚本是否包含这样的 shebang
#!/bin/sh
?位置可能因您的系统而异。尝试which sh
在您的终端中找到它如果 shebang 不存在,那么执行
./file.sh
就没有意义,因为脚本不会自行找到解释器您必须
sh file.sh
运行该脚本。
你为什么要运行sudo sh ./file.sh
?你想以提升的权限运行它吗?
所以我想你可能想要实现这个目标:-
chmod 700 file.sh
(我个人更喜欢用八进制来分配权限)./file.sh
(如果脚本的第一行就存在 shebang)如果没有的话
sh file.sh
(为此你甚至不需要使脚本可执行)
说到您看到的错误,您错误地输入sh
为ss
;)
答案3
@Jose - 您使用的是 docker-bench-security.sh 脚本,其中第 27 行有 ss 命令(@daya 指出)。由于 mac os 不支持 ss,您可以在脚本中用 netstat 替换 ss,并以以下方式运行脚本:sh docker-bench-security.sh(如果脚本不使用 shebang)