[英]Changing root after connecting with a non-root user in shell script
我在上课时有个小问题。 我有脚本将安装名为SCCM和TrendMicro的代理。 以sudo特权用户登录后,我想以root用户身份在脚本中运行命令。 我不知道该怎么办。 我尝试了sudo来获取想要root priv的命令。 但是我收到“ sudo:抱歉,您必须有一个tty才能运行sudo”消息。 所以我想用sudo priv登录。 用户然后更改为root并运行所有命令。
注意:我只是添加SCCM安装。 我弄清楚这一点之后,我将在$ SCRIPT中添加TM安装命令。
> #!/bin/bash USERNAME=user HOSTS="host1 host2"
SCRIPT="mkdir /tmp/SCCM; wget -O /tmp/SCCM/ccm-Universalx64.tar
> ftp://local/pub/SW/SCCM/ccm-Universalx64.tar; wget -O
> /tmp/SCCM/install ftp://local/pub/SW/SCCM/install; chmod 755
> /tmp/SCCM/*; cd /tmp/SCCM; /tmp/SCCM/install -mp another_host
> -sitecode MGR ccm-Universalx64.tar; /etc/init.d/ccmexecd stop; /etc/init.d/ccmexecd start" for HOSTNAME in ${HOSTS} ; do
> ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
完成出口
您可以访问要连接的主机的/etc/sudoers
吗?
该博客以及Unix&Linux Stack Exchange网站指向将/etc/sudoers
从Defaults requiretty
为Defaults !requiretty
或者使用-t
或-tt
选项对ssh进行设置,从而在远程端生成伪终端。 当心副作用(有关详细信息,请参见上面列出的第二个链接)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.