在shell脚本中与非root用户连接后更改根目录

问题描述:

我在scipting时遇到lil问题。我有脚本可以安装名为SCCM和TrendMicro的代理。在我使用sudo priviledge用户登录后,我想用脚本中的root用户运行命令。我不知道该怎么办。我尝试了一些命令,要求root priv。但我得到的“sudo:对不起,您必须有一个tty才能运行sudo”消息。所以我想用sudo priv登录。用户比更改为root并运行所有命令。在shell脚本中与非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

This blogUnix & Linux Stack Exchange Website点从Defaults requirettyDefaults !requiretty OR使用-t-tt SSH选项,其产生一个伪终端在远程侧改变/etc/sudoers线。谨防副作用(请参阅上面第二个列出的链接了解详情)。