Solaris 9 12/02 版次注意事項

Application Server 以超級使用者的身份啟動所有實例時,非超級使用者會擁有超級使用者存取權 (4780076)

將 Sun ONE Application Server 作為 Solaris 安裝的一部份來進行安裝時,會有數個問題與 Application Server 啟動相關聯:

在安裝 Sun ONE Application Server 時,已安裝 /etc/init.d/appserv 程序檔以及至 /etc/rc*.d/ 目錄中的 S84appserv 程序檔與 K05appserv 程序檔的符號連結。這些程序檔會導致所有應用程序伺服器實例與管理伺服器實例(作為應用程式伺服器安裝的一部份定義)在 Solaris 系統啟動和關閉時自動啟動與停止。

/etc/init.d/appserv 程序檔包含以下程式碼部份。

case "$1" in
'start')
    /usr/sbin/asadmin start-appserv
    ;;
'stop')
    /usr/sbin/asadmin stop-appserv
    ;;

執行 asadmin start-appserv 指令會導致管理伺服器實例與所用應用程式伺服器實例(在所有管理網域中定義的)在 Solaris 系統啟動時啟動。由於系統啟動與關閉程序檔是以超級使用者的身份來執行的,因此每個應用程式伺服器與管理伺服器實例的啟動程序檔也會以超級使用者的身份來執行。實例層啟動程序檔名為 startserv,位於 instance-dir/bin/startserv。由於實例可以由超級使用者所有,因此非超級使用者可以修改 startserv 程序檔而以超級使用者的身份執行指令。

如果實例有使用特權網路連接埠,則實例的 startserv 程序檔必須以超級使用者的身份來執行。但是,通常會在實例配置中設定以使用者身份執行,以迫使實例在由超級使用者進行初始啟動後以特定使用者的身份來執行。

解決方法:依據您的環境,執行以下其中一種解決方法。

啟動考量內容:當修改 Solaris 作業環境啟動程序檔以自動啟動特定應用程式伺服器管理網域或特定應用程式伺服器實例時,請考量以下內容。

請參閱 "Sun ONE Application Server 7 Administrator's Guide" 以取得有關可透過 asadmin 指令行介面使用的 startupshutdown 指令的更多資訊。