使用 susudo

su 指令(由 IBM® UrbanCode Deploy 使用)可讓使用者以另一個使用者身分啟動 Shell(程序步驟可以視為個別 Shell)。

當您配置程序步驟(請參閱程序)時,可以告知 IBM UrbanCode Deploy 針對步驟使用模擬。依預設,使用 su,但您可以改為使用 sudo。若要配置模擬,您可以提供目標主機需要的使用者名稱。當模擬配置的程序步驟執行時,susudo 指令會以模擬使用者的身分執行步驟。必須個別配置需要使用者模擬的每一個步驟。

在可以使用 sudo 之前,必須在 /etc/sudoers 檔中定義模擬專用權。當您配置 sudoers 時,確保模擬使用者不需要提供密碼。通常,您將配置類似於下列範例的 /etc/sudoers 檔:

Defaults:X !requiretty 
X ALL=(Y) NOPASSWD: ALL 

其中,X 與 Y 是使用者名稱。透過這種方式進行配置,使用者 X 可以用使用者 Y 身分執行任何指令,而無需提供密碼。

susudo 會在系統日誌中維護含其所有活動的記錄。su 可以在未配置 sudoers 檔的情況下使用。如需 su/sudo 的相關資訊,請參閱 UNIX 或 Linux 說明文件。

註: 對於 UNIX 或 Linux 代理程式,會忽略密碼選項。
若要自訂 susudo 指令,您可以在 installed.properties 檔中,設定代理程式上的下列內容:
表 1. susudo 指令的代理程式內容
內容 預設值 說明
com.urbancode.shell.impersonation.unix.sudoFormat %s -n -u %u %c sudo 指令的語法
com.urbancode.shell.impersonation.unix.sudoGroupFormat %s -n -u %u -g %g %c 指定群組時的 sudo 指令語法
com.urbancode.shell.impersonation.unix.suFormat %s - %u -c %c su 指令的語法
提示: 若要在新代理程式上設定這些內容,請建立更新 installed.properties 檔的一般程序,並在新的代理程式上執行程序。
您可以在這些內容中使用下列變數:
表 2. susudo 指令的變數
變數
%s susudo 執行檔的位置
%u 使用者
%g 群組
%c 執行的指令

意見