5.16. Podman에서 사전 실행 후크 구성
플러그인 스크립트를 생성하여 컨테이너 작업에 대한 미세한 제어, 특히 무단 작업 차단(예: 컨테이너 이미지 가져오기, 실행 또는 나열)을 정의할 수 있습니다.
파일 /etc/containers/podman_preexec_hooks.txt
파일은 관리자가 생성해야 하며 비어 있을 수 있습니다. /etc/containers/podman_preexec_hooks.txt
가 없으면 플러그인 스크립트가 실행되지 않습니다.
다음 규칙은 플러그인 스크립트에 적용됩니다.
- 루트 소유여야 하며 쓸 수 없습니다.
-
/usr/libexec/podman/pre-exec-hooks
및/etc/containers/pre-exec-hooks
디렉터리에 있어야 합니다. - 순차적 및 영숫자 순서로 실행합니다.
-
모든 플러그인 스크립트가 0 값을 반환하면
podman
명령이 실행됩니다. -
플러그인 스크립트에서 0이 아닌 값을 반환하는 경우 실패를 나타냅니다.
podman
명령은 첫 번째 실패 스크립트의 0이 아닌 값을 종료하고 반환합니다. Red Hat은 다음과 같은 이름 지정 규칙을 사용하여 스크립트를 올바른 순서로 실행하는 것이 좋습니다.
DDD_name.lang
, where:-
DDD
는 스크립트 실행 순서를 나타내는 10진수입니다. 필요한 경우 하나 또는 두 개의 선행 0을 사용합니다. -
name
은 플러그인 스크립트의 이름입니다. -
lang
(선택 사항)은 지정된 프로그래밍 언어의 파일 확장자입니다. 예를 들어 플러그인 스크립트 이름은001-check-groups.sh
일 수 있습니다.
-
플러그인 스크립트는 생성 시 유효합니다. 플러그인 스크립트 전에 생성된 컨테이너는 영향을 받지 않습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
프로세스
001-check-groups.sh
라는 스크립트 플러그인을 생성합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 스크립트는 사용자가 지정된 그룹에 있는지 확인합니다.
-
USER
및GROUP
은 Podman에서 설정한 환경 변수입니다. -
001-check-groups.sh
스크립트에서 제공하는 종료 코드는podman
바이너리에 제공됩니다. -
podman
명령은 첫 번째 실패 스크립트의 0이 아닌 값을 종료하고 반환합니다.
검증
001-check-groups.sh
스크립트가 올바르게 작동하는지 확인합니다.podman run image
$ podman run image ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자가 올바른 그룹에 없는 경우 다음과 같은 오류가 표시됩니다.
external preexec hook /etc/containers/pre-exec-hooks/001-check-groups.sh failed
external preexec hook /etc/containers/pre-exec-hooks/001-check-groups.sh failed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow