쉘 스크립트의 Sudo 실행은 직접 사용자 실행과 다르게 동작합니다.

쉘 스크립트의 Sudo 실행은 직접 사용자 실행과 다르게 동작합니다.

runDaemon.ksh내 클라이언트에는 user 로 실행해야 하는 스크립트가 있습니다 app-admin. 이 스크립트는 포트 3001의 IP에 대한 소켓 연결을 생성합니다.

이 스크립트를 자동화하되 다른 사용자를 사용하라는 요청을 받았습니다 automation. 그들은 내 사용자 에게 sudo 권한을 부여 runDaemon.ksh하고 .app-admin/etc/sudoers

automation이 명령을 사용하여 스크립트를 실행 하려고 하면 sudo -u app-admin ./runDaemon.ksh데몬이 시작되지만 포트 3001의 대상 IP에 대한 소켓 연결을 생성하지 않습니다. 이상하네요. 클라이언트가 직접 로그인하여 스크립트를 실행하면 정상적으로 실행됩니다.

sudo부여된 사용자가 실제 사용자와 동일하게 행동하도록 하려면 어떻게 해야 합니까 ?

답변1

-isudo의 매개변수를 사용하면 실제 사용자가 실행하는 것과 동일한 동작으로 스크립트를 실행할 수 있습니다.

sudo -i -u app-admin ./runDaemon.ksh

관련 정보