繁体   English   中英

rundeck-在作业脚本中切换到root用户

[英]rundeck - switch to root user in job script

通过终端登录,我可以切换到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,时间:”)。 但是它将以root身份运行整个脚本。 如果只希望以root用户身份运行特定命令,则只需在命令前加上sudo即可:

sudo "enter_your_command_to_be_run_as_root_here"

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

sudo: sorry, you must have a tty to run sudo

您可以通过运行'visudo'并注释掉默认行或从默认行中删除'requiretty'来启用不带tty的sudo。

详细信息可以在这里找到:

http://www.cyberciti.biz/faq/linux-unix-bsd-sudo-sorry-you-must-haveattytorun/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM