V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wikinee
V2EX  ›  程序员

A 和 B 假如都是 sudo 组,那如何阻止 B 把 A 给踢出 sudo 组

  •  
  •   wikinee · 2019-08-03 10:11:01 +08:00 · 4918 次点击
    这是一个创建于 1918 天前的主题,其中的信息可能已经有所发展或是发生改变。
    总不能是先下手为强吧,这里的权限机制很困惑。。。
    15 条回复    2019-08-05 10:24:13 +08:00
    julyclyde
        1
    julyclyde  
       2019-08-03 10:28:04 +08:00
    那当然是不能阻止的
    iyaozhen
        2
    iyaozhen  
       2019-08-03 10:37:46 +08:00 via Android   ❤️ 1
    想起了大学宿舍群,4 个人都是管理员。
    gam2046
        3
    gam2046  
       2019-08-03 10:40:13 +08:00   ❤️ 1
    sudo passwd

    都可以修改 root 的密码,显然不能阻止 B 把 A 踢出。sudo 以后等同于 root 权限了
    656002674
        4
    656002674  
       2019-08-03 10:59:29 +08:00   ❤️ 3
    yankebupt
        5
    yankebupt  
       2019-08-03 11:01:31 +08:00
    我还以为肯定有人会说放个暗桩,当检测到 A 不是 sudo 组时把 B 踢出 sudo 组同时把 A 加回来,没想到现在都这么和谐了么...
    alphatoad
        6
    alphatoad  
       2019-08-03 11:04:44 +08:00 via iPhone
    感觉会有 racing condition 啊
    指令还在队列里,然后被 t 了
    exip
        7
    exip  
       2019-08-03 11:07:56 +08:00 via Android
    是可以实现的,不过不太完美,对蓄意修改者还是无效,对一般用户来说没问题。
    实施限制
    可以对用户能够运行的命令实施限制。假设有一个名为 dataex 的组,其成员是 “ alpha ”、“ bravo ” 和 “ charlie ”。现在,已经允许这个组运行 sudo 命令 /usr/local/bin/mis_ext *,这里的星号代表传递给脚本的许多参数。但是,如果参数是 import,就不允许用户 “ charlie ” 执行此脚本。可以使用逻辑否 '!' 操作符设置这种条件。下面是在 sudoers 中的实现方法:
    1 %dataex rs6000 = (dbmis) NOPASSWD: /usr/local/bin/mis_ext *
    2 charlie rs6000 = (dbmis) NOPASSWD: !/usr/local/bin/mis_ext import

    参考:https://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html
    ryd994
        8
    ryd994  
       2019-08-03 14:39:02 +08:00
    @alphatoad 不会,sudo 只在开始时验证权限
    比如你 sudo bash,那即使你被剔出 sudoer,这个 bash 还是有 root 权限
    alphatoad
        9
    alphatoad  
       2019-08-03 15:09:46 +08:00 via iPhone
    @ryd994 其实我想的更多的是 shell 在 execl 的时候的表现,个人认为这里不会有 racing condition
    elikoi17
        10
    elikoi17  
       2019-08-03 16:19:35 +08:00 via Android
    selinux ?
    ibreaker
        11
    ibreaker  
       2019-08-03 18:00:40 +08:00   ❤️ 1
    @exip 看你这字母解释法,是玩业余无线电的吗
    starsriver
        12
    starsriver  
       2019-08-03 19:53:32 +08:00 via Android
    任何人都可以踢人。

    记住 linux 的提示,权限越大责任越大。
    exip
        13
    exip  
       2019-08-03 20:41:33 +08:00 via Android
    @ibreaker 你说的是这个吧,无线电中字母的读法。
    A:ALFA  
    B:BRAVO  
    C:CHARLIE  
    D:DELTA
    E:ECHO
    F:FOXTROT
    G:GOLF
    H:HOTEL
    I:INDIA
    J:JULIET
    K:KILO
    L:LIMA
    M:MIKE
    N:NOVEMBER
    O:OSCAR
    P:PAPA
    Q:QUE B EC
    R:ROMEO
    S:SIERRA
    T:TANGO
    U:UNIFORM
    V:VICTOR
    W:WHISKEY
    X:X-RAY
    Y:YANKEE
    Z:ZULO
    wangguoqin1001
        14
    wangguoqin1001  
       2019-08-05 03:36:08 +08:00
    设定允许 /禁止 sudo 运行的命令,当然比较靠谱的就是把安全的命令穷举一下放在允许 sudo 执行的命令列表里面🤷‍♂️
    no1xsyzy
        15
    no1xsyzy  
       2019-08-05 10:24:13 +08:00
    你可以通过 visudo 限制 sudo 能够执行的命令。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1477 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:39 · PVG 01:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.