2017-08-14 137 views
0

我在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}" 

做 出口

回答

1

你可以訪問您所連接的主機的/etc/sudoers

This blogUnix & Linux Stack Exchange Website點從Defaults requirettyDefaults !requiretty OR使用-t-tt SSH選項,其產生一個僞終端在遠程側改變/etc/sudoers線。謹防副作用(請參閱上面第二個列出的鏈接瞭解詳情)。