mac 卸载流氓软件安全助手

之前个人电脑在公司使用过一段时间,为了使用网线联网安装了公司指定的 联软上网助手,谁知安装容易卸载难,后来找运维来卸载,输入管理员密码后,也无反应,最后不了了之了,这个毒瘤软件长期在后台驻留,看着心烦,近来终于找到方法给它卸载掉了,心情舒畅之余特来此记录一下。

推荐方案1

1、打开 finder => 应用程序 => 找到安全助手 => 移到废纸篓

2、打开 /opt/LVUAAgentInstBaseRoot 目录, 里面有个 uninstall.exe 双击运行一下, 会打开一个终端窗口,会自动执行卸载操作,有可能会提示输入管理员密码,输入后,后续依然有可能会弹窗出安全助手的卸载提示窗,让输入后台管理员的密码,输入后稍等片刻就成功的卸载完成了(我之前卸载不掉就是从正常卸载界面输入管理员密码无效,这次是从终端启动卸载后,成功的)。

3、最后删除 /opt/ 下的 LVUAAgentInstBaseRoot、lvagentcmd、log 三个文件,就清理干净了。

备选方案2

以上操作也可以在终端通过指令完成

zsh 复制代码
# cd 到 opt 目录下
cd /opt

# 列出 `/opt` 目录下文件和文件夹的命令。`-l` 选项表示使用长格式显示,`-O` 选项表示显示文件的扩展属性。
ls -lO

# 将文件由隐藏状态改为可见,lsattr 是 Linux系的命令,Mac下你需要使用 chflags 
sudo chflags -f -R nohidden LVUAAgentInstBaseRoot

# 解锁文件修改权限
sudo chflags -f -R noschg LVUAAgentInstBaseRoot

# 重命名,相当于删除了原文件
sudo mv LVUAAgentInstBaseRoot OLD_LVUAAgentInstBaseRoot

# 批量关闭相关进程
sudo pkill dvc-screen-exe dvc-unisensitive-exe dvc-core-exe dvc-remote-exe
参考链接:https://www.zhihu.com/question/308601708/answer/1916872794

思考

opt 文件夹是什么

2022 我用 MacBook Pro 整一年 【感想 与 踩坑指南】 中我们提过,/opt 属于用户级的程序目录,可以理解为widow 的 D:/Software,opt 在英文中有可选的意思,这里可以用于放置第三方大型软件或游戏,当你不需要时,直接 rm -rf 掉即可, 在硬盘容量不够时,也可将 opt 单独挂载到其他磁盘上使用。

opt 下的 LVUAAgentInstBaseRoot 目录是什么

联软旗下安全软件的文件目录,相关数据都在这里面,不过文件默认在保护模式无法删除,rm -rf 可能都不行。

mac 下怎么对文件设置和解除保护模式

为了防止意外的强制删除文件带来的麻烦,有时我们需要将特定文件保护起来,即使使用 rm -rf 命令也无法直接删除这些文件。

在 Linux 系统中,可以使用 lsattr 命令来改变文件的属性,从而实现文件保护。然而,在 macOS 中,由于其基于 Unix,命令的使用略有不同。对于 macOS 用户,需要使用 chflags 命令来修改文件的属性。例如,要保护文件LVUAAgentInstBaseRoot,可以执行以下命令:

zsh 复制代码
sudo chflags schg LVUAAgentInstBaseRoot

执行此命令后,文件将被锁定,即使使用 sudo 也无法直接删除。要解锁文件,可以执行相同的命令,并将 schg 替换为 noschg

chflags 命令的语法如下:

zsh 复制代码
chflags [-R] flags fileName

# -R 是可选参数,用于递归地应用标志到指定目录下的所有文件和子目录。
# flags 是要设置的标识参数。
# fileName 要操作的文件或目录。

flags 支持的常用参数如下:

hidden:将文件或目录隐藏,使其在图形界面的 Finder 中不可见。

nohidden:取消文件或目录的隐藏标记。

uchg:防止文件被修改、重命名或删除,只有超级用户或文件的拥有者才能更改标志。

nouchg:取消用户更改禁止标志。

schg:防止文件被修改、重命名或删除,只有超级用户才能更改标志。

noschg:取消系统更改禁止标志。

zsh 复制代码
# 查看文件的 flags
ls -lO fileName

总结

有些软件为了不让顺利的卸载,真是煞费苦心,通过深入的了解它们防删除手段,才能针对性的找到解决办法,举一反三,类似的问题,也可以尝试同样的思路。


付费技术讨论群,欢迎加入 v: 1032151090

文章更新平台:掘金知乎Github、公号【编码美学】。

相关推荐
【D'accumulation】几秒前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端
fishmemory7sec6 分钟前
Electron 主进程与渲染进程、预加载preload.js
前端·javascript·electron
fishmemory7sec8 分钟前
Electron 使⽤ electron-builder 打包应用
前端·javascript·electron
2401_8543910810 分钟前
高效开发:SpringBoot网上租赁系统实现细节
java·spring boot·后端
Cikiss19 分钟前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
Cikiss20 分钟前
微服务实战——平台属性
java·数据库·后端·微服务
OEC小胖胖34 分钟前
Spring Boot + MyBatis 项目中常用注解详解(万字长篇解读)
java·spring boot·后端·spring·mybatis·web
豆豆1 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
2401_857617621 小时前
SpringBoot校园资料平台:开发与部署指南
java·spring boot·后端
计算机学姐1 小时前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis