[英]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.