Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux rundeck-切换到作业脚本中的根用户_Linux_Amazon Ec2_Rundeck - Fatal编程技术网

Linux rundeck-切换到作业脚本中的根用户

Linux rundeck-切换到作业脚本中的根用户,linux,amazon-ec2,rundeck,Linux,Amazon Ec2,Rundeck,通过终端登录,我可以切换到root用户: ubuntu@ip-10-0-0-70:~$ sudo -s root@ip-10-0-0-70:~# whoami root 因此,我在rundeck中创建了一个作业脚本,其中包含以下内容: whoami; echo "1st step"; sudo -s; echo "2nd step"; 当我运行这个时,它会打印: ubuntu 1st step 打印“第一步”后,它会永远被卡住。似乎sudo-s命令有问题 尝试了sudo-i,但同样的情况

通过终端登录,我可以切换到root用户:

ubuntu@ip-10-0-0-70:~$ sudo -s
root@ip-10-0-0-70:~# whoami
root
因此,我在rundeck中创建了一个作业脚本,其中包含以下内容:

whoami;
echo "1st step";
sudo -s;
echo "2nd step";
当我运行这个时,它会打印:

ubuntu
1st step
打印“第一步”后,它会永远被卡住。似乎sudo-s命令有问题

  • 尝试了
    sudo-i
    ,但同样的情况也发生了
  • 尝试了
    sudo su-root
    ,但同样的情况也发生了
  • rundeck以ubuntu用户的身份登录,我也是

有没有在rundeck脚本中切换到root的想法?

这是预期的行为。 您正在通过“sudo-s”运行shell,然后没有离开/退出它!所以它永远在等待一些不会发生的事情

您可能可以添加'sudo'作为脚本的高级选项(其中显示“使用解释器或前缀运行脚本。例如:sudo,time:”)。 但它将以root用户身份运行整个脚本。 如果您只想以root用户身份运行特定命令,只需在命令前面加上sudo,如下所示:

sudo "enter_your_command_to_be_run_as_root_here"

在大多数linux发行版上,输入以Sudo为前缀的命令将产生以下错误

sudo: sorry, you must have a tty to run sudo
通过运行“visudo”并注释掉默认行或从默认行中删除“Requiredty”,可以在不使用tty的情况下启用sudo

详情可在此找到: