hotamul의 개발 이야기

[Docker] 서버에서 root user 사용하지 않는 이유 본문

Dev./Docker

[Docker] 서버에서 root user 사용하지 않는 이유

hotamul 2022. 6. 25. 18:21
...
RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install -r /tmp/requirements.txt && \
    rm -rf /tmp && \
    adduser \
        --disabled-password \
        --no-created-home \
        django-user
...

Dockerfile 에서 adduser 부분이 궁금해서 찾아봤다. 왜 adduser를 하는지 adduser 블록이 무슨 의미 인지 찾아봤다.

adduser는 보안상의 이유에서 한다.

  • root user는 모든 권한을 가지고 있다.
  • 실행중인 application을 통해 해당 서버에 외부 사용자가 접근하여 의도적으로 공격?을 하려고 할 때 root user인 경우 모든 권한으로 서버에 접근할 수 있다. 하지만 제한된 권한을 가진 사용자를 이용하여 코드 접근 또한 막는다면 보안상으로 안전할 수 있다고 한다.

--disabled-password, --no-created-home, django-user 의미?

  • 이 서버를 사용하는 사람들은 일일히 비밀번호를 입력하며 사용하고 싶지 않을 것이기 때문에 --disabled-password 옵션을 추가한다.
  • 매번 user home을 만들 필요 없기 때문에 --no-created-home 옵션을 추가한다.
  • django-user라는 이름을 유저 이름으로 사용한다.

'Dev. > Docker' 카테고리의 다른 글

[Docker] What is defined in the Dockerfile?  (0) 2022.06.25
[Docker] docker-compose.yml  (0) 2022.06.25
[Docker] Why use Docker?  (0) 2022.06.25
Comments