다른 사용자와 함께 sudo를 사용하여 weblogic 서비스를 시작하는 방법은 무엇입니까?

다른 사용자와 함께 sudo를 사용하여 weblogic 서비스를 시작하는 방법은 무엇입니까?

Centos 6.8 서버에서는 테스트 사용자로부터 weblogic-service를 시작해야 하며 테스트 사용자가 아닌 프로세스 소유자가 weblogic이어야 합니다.

또한 nohup을 사용하여 weblogic을 시작하고 다음과 같이 백그라운드에 넣어야 했습니다.

#nohup ./startweblogic &

내가 한 일은 다음과 같았다.

시작 스크립트를 실행할 수 있도록 sudoers에 테스트 사용자를 추가했습니다.

다음 명령을 실행했지만 프로세스 소유자가 여전히 weblogic이 아닙니다.

#su -p -s /bin/sh weblogic "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"

답변1

나는 당신이 다음과 같이 sudoers 파일을 설정했다고 추측합니다.

test ALL=(weblogic) NOPASSWD: /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh

이를 통해 test사용자는 weblogic비밀번호를 요구하지 않고 사용자로서 명령을 실행할 수 있습니다( NOPASSWD:.

또한 Weblogic을 백그라운드에서 실행할 계획이라면 boot.properties의 자동 로그인 기능을 사용하도록 설정하여 사용자/비밀번호를 묻지 않도록 하는 것이 좋습니다. 다음 내용이 포함된 파일(필요한 경우 보안 디렉터리 생성)을 boot.properties배치합니다 ./u01/Oracle/Middleware/user_projects/domains/base_domain/servers/your_server_name/security

username=your_weblogic_username
password=your_weblogic_password

그런 다음 로그인 test하고 실행하십시오.sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &

당신은 다음을 얻습니다:

root      3133  0.0  0.1  37084  6208 pts/1    S    17:47   0:00 sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic  3134  0.0  0.0   7112  2912 pts/1    S    17:47   0:00  \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic  3135  0.0  0.0   7252  3508 pts/1    S    17:47   0:00      \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
weblogic  3168  2.8 10.8 2606220 437004 pts/1  Sl   17:47   0:15          \_ /home/weblogic/jdk/bin/java -server -Xms256m -Xmx512m -Dweblogic.Name=AdminServer -Djava.security.policy=/u01/Oracle/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader -javaagent:/u01/Oracle/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/u01/Oracle/Middleware/wlserver/server -Dweblogic.home=/u01/Oracle/Middleware/wlserver/server weblogic.Server

답변2

노력하다:

su -p -s /bin/sh weblogic -c "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"

명령 앞에 "-c"를 기록하고 따옴표로 묶습니다.

또한 "weblogic" 사용자에게 현재 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요. "nohup"은 서버의 출력을 현재 디렉터리의 "nohup.out" 파일로 리디렉션하기 때문입니다.

관련 정보