Windows 下的 QQ 会扫描浏览器历史记录,Android 下的部分软件会在根目录乱建文件。Linux 下虽然暂时少有类似的情况,但随着国内大厂软件数量的增多,也要未雨绸缪。这里分享一种比 docker 更轻量的隔离软件文件权限的简易方法:
- 修正家目录下现有的权限:
chmod o-rwx ~ # even g-rwx to be more strict
- 修复未来的权限,在
.bash_profile中加入:
umask 007 # or even 077
- 新增专门用于不可信程序的用户,如
untrusted:
useradd -m -d /var/lib/untrusted -U untrusted
- 为避免频繁输入密码,执行
visudo并在末尾加入:
my_user ALL=(untrusted) NOPASSWD: ALL
- 为了能在不同用户下执行 GUI 程序,在
.xinitrc等类似文件中加入:
xhost si:localuser:untrusted
- 尝试执行不可信程序:
sudo -i -u untrusted program
注意此方法并不能建立真正安全的沙盒,但可以以成本较低的方式来防止部分软件扫描用户文件及在家目录下乱建文件的行为。沙盒的实现方式可参考 seccomp 。
P. S. 如果你最近在家目录下发现了.sys1og.conf文件,那是 wechat-uos 创建的。