Solaris 10에서 sudo를 통해 환경 변수 전달

Solaris 10에서 sudo를 통해 환경 변수 전달

Solaris 10에서 sudo를 통해 명령을 실행해야 하며 두 개의 환경 변수를 명령에 전달해야 합니다. 이 작업은 /bin/sh, 아니 bash, 아니 에서 수행되어야 합니다 ksh.

이는 Linux에서 가능하고 일부 옵션이 있지만 Solaris는 Linux에서 스위치를 sudo지원하지 않기 때문에 Solaris에서는 작동하지 않습니다 . -E최신 버전의 sudo를 설치하는 것도 실제로는 선택 사항이 아닙니다.

내가 생각할 수 있는 유일한 해결 방법은 명령을 변수와 함께 스크립트에 넣는 것입니다.

#!/bin/sh
a=foo
b=bar
export a
export b
my_command 

그런 다음 sudo를 통해 스크립트를 실행합니다. 그러나 이 방법은 이제 sudo를 통해 스크립트를 허용해야 하기 때문에 보안을 우회합니다. 이는 스크립트를 편집할 수 있으므로 실제로 부여하는 것을 제어할 수 없기 때문에 나쁜 습관입니다.

어떤 아이디어가 있나요?

편집: 전달하려는 변수는 LD_PRELOAD LD_LIBRARY_PATH입니다. sudo를 통한 명령이 단일 목적 chroot에서 실행되었으므로 변수가 참조하는 라이브러리를 표준 위치에 복사하여 일부 "시스템" 라이브러리를 덮어쓸 수 있었습니다. 이것은 일반적으로 좋은 습관은 아니지만(나는 강력히 권장하지 않습니다), 이 경우에는 단일 목적의 chroot가 실용적인 솔루션이라는 것을 알았습니다.

관련 정보