Red Hat Training

A Red Hat training course is available for RHEL 8

1.6. rootless 컨테이너 설정

Podman, Skopeo 또는 Buildah와 같은 컨테이너 툴을 수퍼유저 권한(root 사용자)이 있는 사용자로 실행하는 것이 컨테이너에서 시스템에서 사용 가능한 모든 기능에 대한 전체 액세스 권한을 갖는 가장 좋은 방법입니다. 그러나 Red Hat Enterprise Linux 8.1에서 일반적으로 제공되는 "Rootless Containers"라는 기능을 사용하면 일반 사용자로 컨테이너를 사용할 수 있습니다.

Docker와 같은 컨테이너 엔진을 사용하면 Docker 명령을 일반(루트가 아닌) 사용자로 실행할 수 있지만 해당 요청을 수행하는 Docker 데몬은 root로 실행됩니다. 결과적으로 일반 사용자는 시스템을 손상시킬 수 있는 컨테이너를 통해 요청할 수 있습니다. rootless 컨테이너 사용자를 설정하여 시스템 관리자는 일반 사용자에게 잠재적으로 컨테이너 활동을 손상시키는 것을 방지하는 한편, 해당 사용자는 자신의 계정으로 대부분의 컨테이너 기능을 안전하게 실행할 수 있습니다.

이 절차에서는 루트가 아닌 사용자(rootless)로 컨테이너를 사용하기 위해 Podman, Skopeo 및 Buildah 툴을 사용하도록 시스템을 설정하는 방법을 설명합니다. 일반 사용자 계정에 컨테이너를 실행해야 하는 모든 운영 체제 기능에 대한 전체 액세스 권한이 없으므로 발생하는 몇 가지 제한 사항에 대해서도 설명합니다.

사전 요구 사항

  • 루트가 아닌 사용자 계정이 컨테이너 툴을 사용할 수 있도록 RHEL 시스템을 설정하려면 root 사용자가 되어야 합니다.

절차

  1. RHEL; 설치.
  2. podman 패키지를 설치합니다.

    # yum install podman -y
  3. 새 사용자 계정을 생성합니다.

    # useradd -c "Joe Jones" joe
    # passwd joe
    • 사용자는 rootless Podman을 사용하도록 자동으로 구성됩니다.
    • useradd 명령은 /etc/subuid 및 /etc/sub gid 파일에서 액세스 가능한 사용자 및 그룹 ID의 범위를 자동으로 설정합니다.
    • /etc/subuid 또는 /etc/subgid 를 수동으로 변경하는 경우 podman system migrate 명령을 실행하여 새 변경 사항을 적용해야 합니다.
  4. 사용자에게 연결합니다.

    $ ssh joe@server.example.com
    참고

    이러한 명령에서는 올바른 환경 변수를 설정하지 않으므로 su 또는 su - 명령을 사용하지 마십시오.

  5. registry.access.redhat.com/ubi8/ubi 컨테이너 이미지를 가져옵니다.

    $ podman pull registry.access.redhat.com/ubi8/ubi
  6. myubi 라는 컨테이너를 실행하고 OS 버전을 표시합니다.

    $ podman run --rm --name=myubi registry.access.redhat.com/ubi8/ubi \
      cat /etc/os-release
    NAME="Red Hat Enterprise Linux"
    VERSION="8 (Plow)"

추가 리소스