Centos

遠端重啟tomcat

  • May 30, 2009

我正在嘗試從我的開發盒在 centos 伺服器上重新啟動我的 tomcat 版本 5。我可以以普通使用者(不是 root)身份登錄,但我需要能夠重新啟動服務。是否有我可以修改的配置文件或我的使用者需要所在的組才能重新啟動 tomcat5 服務?

編輯:我將在 Ant 中執行此任務,而 sudo 對此不起作用,因為 Ant 沒有為您提供虛擬終端。

編輯:這是我嘗試通過 ant 以 root 身份重新啟動 tomcat 時出現的錯誤。

ssh root@server.com /sbin/service tomcat5 restart

restartTomcat:
[exec] Pseudo-terminal will not be allocated because stdin is not a terminal.

這是以 root 身份執行的,具有 ssh 權限。該命令原樣工作正常。

編輯

vi /etc/sudoers (EDIT: please use visudo instead)
comment out: #Default requiretty

這修復了 tty 項目。現在它可以作為普通使用者使用。

這是我的螞蟻目標

<target name="restartTomcat">
 <exec executable="/usr/bin/ssh">
   <arg line="user@server.com sudo /sbin/service tomcat5 restart"/>
 </exec>
</target>

如果您在使用 sudo 時遇到問題並且收到如下消息:

sudo: sorry, you must have a tty to run sudo

然後你應該註釋掉:

Defaults    requiretty

裡面/etc/sudoers。由於 RHEL/CentOS 出廠時預設啟用該選項。

如果伺服器安裝了sudo,您可以將自己添加到 sudoers 文件(使用visudo命令) - 您可以允許所有內容,也可以只允許該特定命令。然後使用sudo somecommand以root權限執行它。

但無論採用何種方法,您都需要至少以 root 身份登錄一次 - 或者讓其他人以 root 身份登錄。

編輯: sudo 有一個無密碼選項(NOPASSWD在 sudoers 中),它不需要 tty(如果我沒記錯的話)。

引用自:https://serverfault.com/questions/15667