SCSUDO를 사용하여 위치 매개변수가 있는 스크립트를 실행하는 방법은 무엇입니까?

SCSUDO를 사용하여 위치 매개변수가 있는 스크립트를 실행하는 방법은 무엇입니까?

scsudo정의된 일부 명령을 실행하여 UNIX 호스트에서 프로세스를 중지하고 시작하려고 합니다 . 내가 겪고 있는 문제는 scsudo스크립트가 명령 프로필에서 호출할 때 위치 인수를 사용하는 것을 좋아하지 않는 것 같다는 것입니다 scsudo.

내 임무는 scsudo프로세스 및 기타 정의된 명령을 중지 및 시작하기 위한 기능 액세스 요청 수와 이와 관련된 관리 오버헤드를 줄이는 것입니다.

예는 다음과 같습니다.

scsudo - <functional_id> "/opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3"
Password:
Reason:
execvp: No such file or directory

scsudo 구성 파일은 스크립트를 호출할 때 매개변수를 처리하지 않으므로 실행하도록 요청된 스크립트를 찾을 수 없는 것 같습니다.

매개변수가 포함된 명령 주위에 괄호를 넣었지만 그래도 문제가 해결되지 않습니까?

scsudo웹과 Stack Exchange 를 철저하게 검색했지만 scsudo.

이 문제에 대한 귀하의 도움에 매우 감사하겠습니다.

답변1

트릭을 알면 이것은 사소한 일입니다.

scsudo - <functional_id> sh -c "/opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3"

다음을 사용할 수도 있습니다.

scsudo - <functional_id> /opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3

스크립트가 적절한 shebang( #!/bin/sh또는 #!/bin/bash기타)으로 시작하는 경우.

작성한 대로 명령은 호출된 scsudo프로그램(공백이 포함된)을 실행하려고 하지만 찾지 못하여 오류가 발생합니다./opt/scripts"Start_Process_script.sh parameter1 parameter2 parameter3"

관련 정보