【管理篇 / 恢复】❀ 08. 文件权限对macOS下用命令刷新固件的影响 ❀ FortiGate 防火墙

  【简介】虽然上篇文章中成功的在macOS下刷新了固件,但是很多小伙伴在实际操作中碰到了无法成功的状况,我们来看看最常见的一种。


在/private/tftpboot目录拷贝另一个版本的固件文件,具体拷贝过程不再详述。

打开终端,输入命令 sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plistsudo launchctl start com.apple.tftp,启动macOS自带的TFTP服务。然后输入命令 screen -L /dev/cu.usbserial-A9Z484ZY -L进入serial窗口,上篇文章有介绍,这里一笔带过。

启动防火墙,出现按键提示后,按回车或空格键,出现菜单,这次我们按G键,菜单里没有这个按键提示,按G键,可以快速的配置TFTP并启动上传。接口、TFTP服务器IP地址和本地IP地址都是上次操作时设置好的,保持默认,只有固件映像文件名需要再次输入,这里我们输入新的7.2.6版本的固件完整文件名,开始连接TFTP服务器,紧接着就报错,无法上转固件文件。

为什么会报错?上一篇文章的操作是成功的,问题出在哪里?再次重启防火墙,按任意键进入菜单,按G键启动TFTP快速配置,这次文件名输入7.4.2版本的,连接TFTP服务器,这次文件上传成功,看来问题出在文件上。

首先我们排除文件的完整性,因为7.2.6版本的固件在浏览器管理防火墙的模式下是可以正常更新固件的。那么只有一个可能,就是权限问题了。首先我们看看可以正常刷新的7.4.2版本文件的权限。回到/private/tftpboot目录,鼠标右键点击7.4.2版本文件,弹出菜单选择【显示简介】。

弹出长条形窗口,鼠标点击最下方的【共享与权限】。

可以看到成功刷新的固件文件共有三项权限组成。

再打开不能成功刷新的7.2.6版本文件权限,为了方便对比,我们把两个文件权限放在一起,用红框标注了权限不同的地方。

鼠标点击7.2.6版本文件everyone权限,将无法访问改为只读。

everyone的权限修改完成,改完就可以了,无需保存操作。

再次进行刷固件操作,文件为7.2.6版本,这个版本的权限已经将everyone改为只读了,可以看到上传仍然失败。

两个文件就只剩下一个staff权限了。点击7.2.6版本文件权限下面的+号。

弹出窗口的【用户与群组】里并没有看到staff,这里我们选择【Administrators】,点击【选择】。

现在两个文件权限的差别是,一个为staff只读,另一个为admin只读。

很显然,admin比staff的权限更大,再次刷新固件,这次文件可以成功上传了。

  【总结】这个案例中,很多人看到故障提示,首先就会下判断,怀疑TFTP服务没有启动。然后花大量精力去查看MAC的TFTP服务启动问题。我们应该多动手,用成功的操作做对比,从而快速找到问题点。


相关推荐
m0_377108148 小时前
小智ai-esp32
人工智能·macos·xcode
Lvan的前端笔记1 天前
python:Mac 系统 uv 完整安装+入门实战
python·macos·uv
pop_xiaoli1 天前
【iOS】离屏渲染
macos·ios·objective-c·cocoa
鸠摩智首席音效师1 天前
如何在 macOS 上创建 React.js 应用程序 ?
前端·react.js·macos
colman wang3 天前
Git指令(Mac)
git·macos
酷虎软件4 天前
分享链接+视频音频文案提取 API 接口文档
ide·macos·xcode
Hyyy4 天前
为什么 macOS 应用一换 Bundle ID,之前授予的权限就全失效了?
macos·electron
p似笑非笑4 天前
实战验证——把 SDK 塞进一个 macOS 原生 Agent 应用
macos
p似笑非笑4 天前
在Mac上完美配置VSCode的C/C++开发环境(GCC/G++详细教程)
c语言·vscode·macos
韦胖漫谈IT4 天前
Apple M3 Max 与 Apple M5 Max 对比:本地算力的新旧王者之争
网络·人工智能·macos·transformer