Nessus插件包安装失败?检查文件路径与权限
win10安装Nessus 8.13.1 破解及后续使用可能遇到的问题及应对方法
说起最近在公司里折腾 Nessus 插件包的事儿,我真的有点哭笑不得。原本以为只要点几下下载、跑个命令就能顺利装好,结果却卡在了“插件包安装失败”。翻来覆去的日志里,最常出现的报错居然是:找不到目标路径、权限不足,这让我瞬间怀疑是不是系统把我当成了外星人。
先确认路径,别让文件跑丢了
我把插件包 all-2.0.tar.gz 放在了 D:ToolsNessus,但在命令行里跑 nessuscli.exe update all-2.0.tar.gz 时,程序却提示找不到文件。原来我在 cd 到 “C:Program FilesTenableNessus” 的目录后才执行的,路径根本不匹配。解决办法很直接:先打开管理员 PowerShell,cd 到插件实际所在的文件夹,再把完整路径写进去,例如:
cd "D:ToolsNessus"
nessuscli.exe update "D:ToolsNessusall-2.0.tar.gz"
这一步搞定后,日志里不再出现 “File not found”,但接下来又冒出了 “Permission denied”。
权限卡点:管理员 vs 普通用户
别小看 Windows 的 UAC,哪怕你是本机管理员,直接在普通 CMD 里跑 nessuscli.exe 也会被拦截。我的经验是:右键 cmd.exe,选“以管理员身份运行”,或者在 PowerShell 里加上 Start-Process -Verb runAs。如果你在服务账户下安装 Nessus,记得把 NETWORK SERVICE 或 NT SERVICETenableNessus 加入到插件所在目录的 读取+写入 权限中。
我把 D:ToolsNessus 的安全属性打开,点“编辑”,给 Users 添加了“修改”权限,随后再跑一遍更新命令,奇迹般地成功了。日志里出现了 “Copying templates version … to …”,这才是真正的好消息。
实战小技巧:一键检测脚本
@echo off
set PLUGIN_PATH=%~dp0all-2.0.tar.gz
if not exist "%PLUGIN_PATH%" (
echo 文件不存在,请检查路径.
exit /b 1
)
icacls "%PLUGIN_PATH%" | find "NT SERVICETenableNessus" >nul
if errorlevel 1 (
echo 权限不足,正在尝试添加...
icacls "%PLUGIN_PATH%" /grant "NT SERVICETenableNessus:(R,W)"
)
echo 开始更新...
nessuscli.exe update "%PLUGIN_PATH%"
pause
把上面的脚本存成 update_plugin.bat,直接双击就能自动检查路径、补足权限,再执行更新,省得每次手动敲命令。
总之,遇到 Nessus 插件包安装失败,先别慌,先把文件放对位置、确认路径完整,再检查一下运行命令的身份和目录权限。把这两件事搞定,后面的更新基本就是“一键搞定”。要是还有别的奇葩报错,欢迎在评论里聊聊,我的咖啡已经泡好,等你来吐槽。

参与讨论
文件路径大小写敏感吗?我放的是小写目录一直报错。
这权限问题真坑,我加了Users权限还是不行,最后给了Everyone才过…
前几天刚搞完这个,确实折腾了好久,作者说的路径问题太真实了。
D盘放工具包本来没问题,但Nessus默认读C盘,容易懵。
脚本里icacls那行在Win10家庭版跑不了啊,有替代方案没?
hhh终于看到有人提NETWORK SERVICE权限了,之前卡这儿三天!
感觉还行,照着改路径+管理员运行一次就成功了。