Ubuntu 上 百度网盘客户端篡改 html 文件默认打开方式问题,如何管理文件访问权限?

2022-11-10 01:08:02 +08:00
 juejinloop

本来 html 文件默认是 Chrome 打开的,每次启动百度网盘后都会被它重新设置。在 Ubutu 上配置默认启动应用的文件位于 ~/.config/mimeapps.list

考虑如何阻止 /opt/baidunetdisk/baidunetdisk 修改这个文件,进一步引申到如何限制一个进程能够访问的文件?

在 Linux 上权限边界是 User 而不是应用,任何在当前用户下运行的应用都能获得当前登录用户的所有权限,所以 chmod 设置读写权限没用,它能改回来。

考虑利用 Sandbox 机制,对进程访问文件系统进行隔离,比如利用 chroot 或者 docker ,但是这这玩意只有通过 .deb 包的形式安装。另外 Ubuntu 上有一种 AppArmor 机制可以对进程的资源访问进行限制,可以配置进程允许访问资源的 profile 并让进程在此 profile 下运行。

另外就是直接把文件设置为 unmutable, 可以通过命令 chattr +i ~/.config/mimeapps.list 完成,这样除了 root 用户其他用户都不能修改此文件,但是这样正常默认应用设置也会受限制,也比较麻烦。

总之 Linux 上好像没有自带按照进程细分的文件访问权限管理办法,还有其他思路吗?

参考阅读链接: https://security.stackexchange.com/questions/193832/prevent-apps-from-having-full-access-to-user-files

1516 次点击
所在节点    程序员
5 条回复
loveqianool
2022-11-10 02:24:17 +08:00
新建一个百度用户来运行
jinliming2
2022-11-10 02:31:38 +08:00
可以放 docker 里跑的,docker 里装上之后把 X11 或者 Wayland 转发一下就能正常用。
chroot 也是可以的,但是要搞一个比较完整的系统,比较麻烦。我 steam 就是用这个方案,因为系统里不想装 multilib ,32 位库。
另外,纯主机的方案,可以考虑试试 selinux ?
FindHao
2022-11-10 08:17:30 +08:00
一个异想天开的思路是不再用这个文件来管理默认类型,而是用一个程序。手动设置白名单或者黑名单来管理其他程序对于文件类型的修改。
aloxaf
2022-11-10 09:06:45 +08:00
好奇地看了下 AUR 里的 baidunetdisk-bin 包的做法

HOME="${HOME:-/tmp}/.local/share/baidu" exec /usr/lib/baidunetdisk/baidunetdisk "$@"

实在是简单粗暴……但有效(
bjzhush
2023-01-28 18:41:16 +08:00
百度网盘真 TM 流氓,一个网盘居然来劫持 html 文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX