Linux 系统中怎样限制 root 访问某个目录? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ijk
V2EX    Linux

Linux 系统中怎样限制 root 访问某个目录?

  •  
  •   ijk 2023-10-29 20:03:40 +08:00 3266 次点击
    这是一个创建于 716 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景是共用同一台 Linux 服务器,每个用户都有 sudo 权限,有些代码和文件不想让其他用户访问,有什么好办法?

    23 条回复    2023-11-05 15:08:31 +08:00
    lzhd24
        1
    lzhd24  
       2023-10-29 20:07:47 +08:00 via Android
    创建单文件加密盘,挂载的时候需要密码,veracrypt linux
    seers
        2
    seers  
       2023-10-29 20:18:42 +08:00 via Android
    attr 那边是不是可以控制
    em70
        3
    em70  
       2023-10-29 20:22:01 +08:00
    自己买个服务器吧,又不贵
    codehz
        4
    codehz  
       2023-10-29 20:23:07 +08:00
    先看看为啥需要 root ,如果只是为了安装一些普通软件的话,建议使用容器方案
    再不行还可以虚拟机,用 9pfs/virtiofs 做基础的文件共享
    pingdog
        5
    pingdog  
       2023-10-29 20:32:59 +08:00 via Android
    uid 0 不能绝对限制 Selinux 可做到限制部分 某些仍可作为 uid 0 去 override

    还不如疑人不用用人不疑
    andrewjames
        6
    andrewjames  
       2023-10-29 20:39:18 +08:00   1
    能被限制的 root 不是好 root
    yuelang85
        7
    yuelang85  
       2023-10-29 21:02:06 +08:00
    sudoer 应该可以控制。
    Remember
        8
    Remember  
       2023-10-29 21:02:20 +08:00
    我都 root 了,你还要限制我,那我不是白用 root 登录了?
    yuelang85
        9
    yuelang85  
       2023-10-29 21:02:38 +08:00
    sudoer 中配置用户组, 应该可以控制。
    ijk
        10
    ijk  
    OP
       2023-10-29 21:05:27 +08:00
    @lzhd24 确实只有这个思路了,本来想不行只能建虚拟机加密 vmdisk 然后 smb 挂出来了
    Rorysky
        11
    Rorysky  
       2023-10-29 22:50:59 +08:00   1
    sudo 只能限制用户使用的命令工具组合,

    你应该反思为什么要给所有人 root 权限? 在自己家目录不能干活么?
    sslyd     12
    sslyd  
       2023-10-30 06:57:11 +08:00
    没人提容器吗??
    lzy250
        13
    lzy250  
       2023-10-30 09:45:00 +08:00 via iPhone   1
    所有人都是 root 太危险了……
    dif
        14
    dif  
       2023-10-30 10:29:59 +08:00
    这玩意还能共享?哪怕是同一个公司的我都不给用。吃过亏好吧。我所在部门的服务器交接给我的时候说是我们自己用,后来因业务下线,新业务没申请下来资源,于是就打算利旧。紧接着给运维发工单重装系统,在我美美睡了一夜准备第二天大干一场后,惊闻昨晚运维部和 DBA 一晚上没睡觉在恢复数据。原因是我那台服务器上部署了其他部门的一个生产数据库,运维直接抹盘重装系统了(我工单要求的)。
    hgert
        15
    hgert  
       2023-10-30 10:34:04 +08:00
    @dif 我比较好奇最后结果
    dif
        16
    dif  
       2023-10-30 10:45:58 +08:00
    @hgert 我们部门老大请运维组和 DBA 组吃饭。不算是核心业务,问题不大,数据也都恢复了。
    tomychen
        17
    tomychen  
       2023-10-30 13:27:34 +08:00
    严格意义上来讲,sudo != root ,是配置的问题

    再者,这个问题不是应该换成,如何限制普通用户的访问控制?而是变成了限制 root 用户的访问控制?

    假定你这个命题成立,那么,这个配置应该由谁来完成?
    zlowly
        18
    zlowly  
       2023-10-30 16:29:24 +08:00
    或者你可以考虑使用容器进行用户隔离
    fuckfaker
        19
    fuckfaker  
       2023-10-30 17:02:13 +08:00
    selinux 可以实现,就是成本有点高,还有所有人都可以 sudo ,这也太危险了
    mephisto
        20
    mephisto  
       2023-10-30 18:23:23 +08:00
    sudo 在多人用的服务器上面,肯定不能给全部命令权限(可配置限制)。你说的需求 selinux 可以实现。
    wdxfj
        21
    wdxfj  
       2023-11-01 15:55:48 +08:00
    用法就不对,都是 root 了,还限制啊?。。。
    wdxfj
        22
    wdxfj  
       2023-11-01 15:57:04 +08:00
    在 Linux 系统中,限制 root 用户访问某个目录可以通过权限和 ACL (访问控制列表)来实现。由于 root 用户拥有系统上的最高权限,所以要限制 root 用户对某个目录的访问需要采取一些额外的措施。以下是一些方法:

    1. **使用权限控制**:您可以使用标准的文件和目录权限来限制对特定目录的访问。这将限制大多数用户,但不会限制 root 用户。例如,您可以使用`chmod`命令来更改目录的权限:

    ```bash
    chmod 700 /path/to/directory
    ```

    这将仅允许目录的所有者访问目录。

    2. **使用 ACL (访问控制列表)**:ACL 允许您为特定用户或组分配额外的权限。您可以使用`setfacl`命令为目录设置 ACL ,以便控制 root 用户的访问:

    ```bash
    setfacl -m u:root:0 /path/to/directory
    ```

    这将禁止 root 用户访问该目录。

    3. **加密目录**:您可以加密目录中的文件,以便即使 root 用户也无法访问文件内容,除非您解密它们。一个常见的工具是 eCryptfs ,可以用于加密目录。

    4. **使用 SELinux 或 AppArmor**:如果您的系统使用 SELinux 或 AppArmor ,您可以配置策略以限制 root 用户对目录的访问。这需要熟悉这些安全模块的配置。

    5. **使用虚拟机或容器**:将您的应用程序和文件置于独立的虚拟机或容器中,以限制 root 用户对主机文件系统的访问。

    请注意,尽管可以采取这些措施来限制 root 用户的访问,但在系统上拥有 root 权限的用户通常可以绕过这些限制。因此,最终的安全性仍然依赖于系统管理员的诚信。确保您的系统管理员团队是可信的,并采取适当的安全措施,以限制对系统和数据的未经授权访问。
    Xunit
        23
    Xunit  
       2023-11-05 15:08:31 +08:00
    acl 或者 selinux ,sudo 的用户得改,不然别人能关闭 selinux 和重设 acl ,防护都没有什么意义
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3791 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:19 PVG 18:19 LAX 03:19 JFK 06:19
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86