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
라는 이름을 유저 이름으로 사용한다.