V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
AmrtaShiva
V2EX  ›  Linux

su user -c "xxx"能实现免密码执行吗

  •  
  •   AmrtaShiva · 2020-05-30 10:06:56 +08:00 · 3619 次点击
    这是一个创建于 1399 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,当前用户所在的组默认 sudo 无需输入密码。 su user -c "xxxx"之后还得输入密码,配置了 /etc/sudoers 貌似对 su 不起作用。 这种操作能实现如 sudo 免密吗?谢谢

    9 条回复    2020-05-30 20:59:01 +08:00
    python35
        1
    python35  
       2020-05-30 10:12:17 +08:00   ❤️ 1
    sudo su user -c "xxxx" 试试
    codehz
        2
    codehz  
       2020-05-30 10:19:36 +08:00   ❤️ 1
    su 当然不会读 sudo 的设置(
    不过这种情况为啥不用 sudo -u user "xxxx"
    AmrtaShiva
        3
    AmrtaShiva  
    OP
       2020-05-30 10:23:05 +08:00
    @codehz #2 用了不行
    iamverylovely
        4
    iamverylovely  
       2020-05-30 10:33:21 +08:00
    sudo 只需要第一次输入密码,后面一段时间是免密的,你是需要做什么呢。
    yanqiyu
        5
    yanqiyu  
       2020-05-30 11:53:22 +08:00   ❤️ 1
    如果这个 xxxx 很常用并且很安全很可靠, 就直接给它个 setuid 呗
    baobao1270
        6
    baobao1270  
       2020-05-30 11:55:02 +08:00   ❤️ 1
    sudo su <user>
    AmrtaShiva
        7
    AmrtaShiva  
    OP
       2020-05-30 12:08:19 +08:00
    @yanqiyu #5 谢谢
    nnd
        8
    nnd  
       2020-05-30 17:24:22 +08:00   ❤️ 1
    [user1@node1 ~]$ whoami
    user1
    [user1@node1 ~]$ id
    uid=1001(user1) gid=1001(user1) groups=1001(user1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    [user1@node1 ~]$ sudo cat /etc/sudoers | grep -v "^#" | grep user
    user1 ALL=(ALL) NOPASSWD: ALL
    user2 ALL=(ALL) NOPASSWD: ALL
    [user1@node1 ~]$ ls /root/
    ls: cannot open directory /root/: Permission denied
    [user1@node1 ~]$ sudo su user2 -c "sudo ls /root"
    anaconda-ks.cfg anaconda-ks.cfg_bak original-ks.cfg
    hasdream
        9
    hasdream  
       2020-05-30 20:59:01 +08:00   ❤️ 1
    sudo 达到 某个用户 su 某个用户
    visudo #最后增加
    user1 ALL=(ALL) NOPASSWD: /bin/su - user2 # user1 登陆后 sudo su - user2 sudo 授权 su - user2 命令

    方法 2
    visudo
    user1 ALL=(user2) NOPASSWD: ALL # user1 使用 sudo -u user2 id # sudo 授权 user1 可以以 user2 身份执行命令
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2945 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:08 · PVG 19:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.