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

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


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

打开终端,输入命令 sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist 和sudo 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服务启动问题。我们应该多动手,用成功的操作做对比,从而快速找到问题点。


相关推荐
Lancker19 小时前
没有 Mac 也能上架 iOS:GitHub Actions 全自动构建 + 签名 + TestFlight 送审实录
macos·ios·github
fei_sun2 天前
RIB、FIB、MAC 、ARP 表
服务器·网络·macos
Highcharts.js2 天前
如何在macOS桌面应用集成Highcharts
macos·highcharts·前端可视化·交互图表
zaemyn20202 天前
macOS 上 AccessClient 无法唤起?排查 Python 架构与 Windows App 识别问题
windows·python·macos·远程桌面·accessclient
应用市场3 天前
把旧 Pixel 变成相册备份中转站(上):Mac 到安卓的照片传输工具设计——流式上传、sha256 校验、adb forward 与 Bonjour
android·macos·adb·kotlin·swift
Peter(阿斯拉)4 天前
[macOS Tahoe 26]_[使用SmartSVN访问库路径报错的问题]
macos·svn·tahoe·smartsvn·macos26
andyweike4 天前
iOS语法原理
macos·objective-c·cocoa
传奇开心果编程4 天前
【SwiftUI提高练中学】第8课 网络层架构:拦截器、重试、缓存与离线优先
学习·macos·ui·ios·swiftui
xUxIAOrUIII5 天前
日常笔记-1005-1
linux·笔记·python·macos
传奇开心果编程5 天前
【Compose Multiplatform 跨端开发学与练】第9课 测试与调试
android·学习·macos·ios·kotlin·web·composer