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