【问题标题】:How to make a script with commands requiring mix of sudo & sudo -u username permissions?如何使用需要混合 sudo 和 sudo -u 用户名权限的命令制作脚本?
【发布时间】:2016-03-10 22:29:35
【问题描述】:

我想制作一个脚本来运行一些具有 sudo 权限的命令和一些具有 sudo -u 用户名权限的命令。

目前, 我使用 sudo 权限运行脚本,它使用 sudo 权限执行脚本中的每个命令。但我想要做的是运行一些具有普通用户权限的命令。例如:如果我创建一个目录,那么我不想被超级用户创建。否则在我以 root 模式打开文件管理器之前,很难从文件管理器中删除它。

【问题讨论】:

    标签: linux shell ubuntu permissions


    【解决方案1】:
    #!/bin/bash
    # this declares that current user is a sudoer
    sudo tee /etc/sudoers.d/$USER <<END
    END
    
    # write the content of your script here
    sudo npm install hexo-cli -g
    mkdir Untitled
    sudo apt-get install python
    
    # then to remove the sudo access from the current user
    sudo /bin/rm /etc/sudoers.d/$USER
    sudo -k
    

    【讨论】:

    • sudo 文档中的什么地方说,简单地创建一个以用户命名的文件会使他们成为sudoer?据我所知,在此处添加一个空文件将无济于事。其次,您必须使用 sudo 运行命令,所以有一个 catch-22。由于用户无法运行sudo 命令来执行操作,如何使用sudo 将用户添加为sudoer
    【解决方案2】:

    您要么以用户身份运行脚本,并在其中放入一些sudo 命令,要么以sudo 运行脚本,并使用su 以特定用户身份运行脚本中的特定命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-03
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多