需要使用sudo su - 在Unix shell脚本中

时间:2014-05-19 06:47:17

标签: shell unix sudo su

我处于初级阶段,我需要在脚本的一个命令行中为两个不同的用户使用sudo su -pwd。 (我使用pwd作为示例;具体命令并不重要。) 我正在使用命令sudo su - user -c pwd。切换到一个用户时此命令有效,但切换到另一个用户时无效。

例如: -

$ sudo su - ora -c pwd
/oracle/
$ sudo su - adm -c pwd
Sorry, user myuser is not allowed to execute '/usr/bin/su - adm -c pwd' as root on server.
$

我怎样才能让'adm'用户呢?

1 个答案:

答案 0 :(得分:0)

sudo用于以其他人的身份运行命令。 默认情况下,它以root身份运行命令。 您还可以提供-u选项以另一个用户身份运行命令。 你真的不需要在做同样的工作时一起使用sudo和su。 Sudo以更加可控和可配置的方式完成这项工作。

可以将Sudo配置为控制:

  • 谁可以使用它。
  • 他们可以运行什么命令。
  • 他们可以将他们视为。
  • 这样做时是否需要提供密码。

您一次只能运行一个命令,因此如果您需要同时执行多项操作,则需要编写脚本。或者,您可以将它们连接在一起。或者最后,您可以以您需要的用户身份运行shell。 e.g:

sudo bash

我认为你可能想要使用:

sudo -u adm anycommand