【管理篇 / 恢复】❀ 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服务启动问题。我们应该多动手,用成功的操作做对比,从而快速找到问题点。


相关推荐
5***V9335 小时前
MacOS升级ruby版本
开发语言·macos·ruby
lichong9516 小时前
《postman、apipost、smartApi 等使用与特点 3 天路线图(可打印 PDF+互动脑图)》
前端·测试工具·macos·pdf·postman·大前端·大前端++
w***765518 小时前
[golang][MAC]Go环境搭建+VsCode配置
vscode·macos·golang
白狐_79818 小时前
网络基础核心问题深度解析:从IP/MAC到IPv6与路由配置
网络·tcp/ip·macos
z***677718 小时前
macOS安装Redis
数据库·redis·macos
j***630820 小时前
MacOS升级ruby版本
开发语言·macos·ruby
AirDroid_cn3 天前
iOS 18 后台应用偷跑流量,如何限制?
macos·ios·cocoa
u***42073 天前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
心灵宝贝3 天前
Mac Unity 2018.dmg游戏工具 安装步骤 简单易懂教程(附安装包)
macos·unity·游戏引擎