V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
whenov
V2EX  ›  Linux

Linux 下隔离部分软件的文件访问权限

  •  
  •   whenov · Jan 18, 2021 · 2668 views
    This topic created in 1934 days ago, the information mentioned may be changed or developed.

    Windows 下的 QQ 会扫描浏览器历史记录,Android 下的部分软件会在根目录乱建文件。Linux 下虽然暂时少有类似的情况,但随着国内大厂软件数量的增多,也要未雨绸缪。这里分享一种比 docker 更轻量的隔离软件文件权限的简易方法:

    1. 修正家目录下现有的权限:
    chmod o-rwx ~  # even g-rwx to be more strict 
    
    1. 修复未来的权限,在.bash_profile中加入:
    umask 007  # or even 077
    
    1. 新增专门用于不可信程序的用户,如untrusted
    useradd -m -d /var/lib/untrusted -U untrusted
    
    1. 为避免频繁输入密码,执行visudo并在末尾加入:
    my_user ALL=(untrusted) NOPASSWD: ALL
    
    1. 为了能在不同用户下执行 GUI 程序,在.xinitrc等类似文件中加入:
    xhost si:localuser:untrusted
    
    1. 尝试执行不可信程序:
    sudo -i -u untrusted program
    

    注意此方法并不能建立真正安全的沙盒,但可以以成本较低的方式来防止部分软件扫描用户文件及在家目录下乱建文件的行为。沙盒的实现方式可参考 seccomp 。

    P. S. 如果你最近在家目录下发现了.sys1og.conf文件,那是 wechat-uos 创建的。

    Supplement 1  ·  Jan 21, 2021
    这种方法不能使用依赖 dbus 的软件,如 fcitx 输入法
    13 replies    2021-01-19 10:12:02 +08:00
    wevsty
        1
    wevsty  
       Jan 18, 2021
    直接 chroot 不行么?
    whenov
        2
    whenov  
    OP
       Jan 18, 2021
    @wevsty 也行,但是也需要 mount --bind
    MicroBotter
        3
    MicroBotter  
       Jan 18, 2021
    总感觉用 SElinux 或 Apparomor 更好一些。
    whenov
        4
    whenov  
    OP
       Jan 18, 2021
    @MicroBotter 的确更安全,但对我来说太重了
    whenov
        5
    whenov  
    OP
       Jan 18, 2021
    淦,才发现序号全乱掉了
    grazie
        6
    grazie  
       Jan 18, 2021 via Android   ❤️ 1
    @whenov @MicroBotter firejail 感觉适中唉,还能用 apparmor 的
    whenov
        7
    whenov  
    OP
       Jan 18, 2021
    @grazie 这个看起来不错
    hanguofu
        8
    hanguofu  
       Jan 18, 2021
    请问用什么方法 ( SElinux 或 Apparomor 或者 楼主介绍的方法 或者 其他 )可以对外接的 移动硬盘 /U 盘 (假设是 ntfs 格式 )设置禁止执行的权限 :unmask 移动硬盘 /U 盘 111 ?
    whenov
        9
    whenov  
    OP
       Jan 18, 2021
    @hanguofu mount 时加上 noexec flag 就行
    whenov
        10
    whenov  
    OP
       Jan 18, 2021
    @grazie firejail 的 blacklist/noblacklist/whitelist/nowhitelist 感觉难以理解,最终还是用回了自己的方法
    hanguofu
        11
    hanguofu  
       Jan 18, 2021 via Android
    谢谢 whenov 怎样才能知道哪些用户组才有执行 mount 这个命令的权限啊?
    whenov
        12
    whenov  
    OP
       Jan 18, 2021 via iPhone
    @hanguofu 除非修改 fstab,否则只能用 root 来 mount
    EIJAM
        13
    EIJAM  
       Jan 19, 2021
    flatpak 或 snap 应该可以控制吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   743 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 20:42 · PVG 04:42 · LAX 13:42 · JFK 16:42
    ♥ Do have faith in what you're doing.