-
(Docker) docker container 내에서 root계정과 root권한을 가진 사용자 계정 사용하기IT 지식 창고 2023. 8. 3. 18:09
docker container 내에서 root계정과 사용자 계정을 사용하게 된 계기
linux server에 접속해서 docker를 활용할 때, linux server는 사용자 계정으로 접속하다보니, 간혹 docker내에서 생성된 files (docker는 root로 접속하기 때문에, files이 root 권한으로 생성됩니다.)이 linux 사용자 계정으로는 삭제가 되지 않아서 제목과 같이 적용한 후 docker를 사용하는 편입니다.
뭐.. docker들어가서 files을 삭제하면 되지만, 가끔 귀찮을 때가 있더라구요.
container내에 접속 후 아래의 command들을 입력
groupadd -g 123456 user && useradd user -u 1234 -g 123456 -M -s /bin/bash
- group을 추가하고, 해당 group으로 user(사용자 계정)를 추가합니다.
- user가 싫다면, 본인이 편한대로 바꾸시면 됩니다. (ex, user01 등)
- linux에서 사용자 계정을 사용한다면, 위 부분에서 123456은 linux 사용자 계정의 group id를 적고, 1234는 linunx 사용자 계정의 id를 적습니다.
- id들은 linux 사용자 계정 command창에서 id를 치면 알 수 있습니다.
apt-get update && apt-get -y install sudo
- 사용자 계정은 root권한 가지기 위해서는 sudo라는 명령어를 쳐야합니다.
- sudo 없이 사용자 계정으로 root권한을 가지는 방법을 찾아보려고 했으나, 보안상 이유로 linux자체에서 할 수 없는 듯함..(id가 0이 아닌 이상은 무조건 sudo를 쳐야하는 듯함)
- docker내에서는 sudo가 없으므로, sudo 설치 필요
- 보통 apt-get update 후 설치해야 가능
adduser user sudo && echo 'user ALL=(ALL) NOPASSWD:ALL'>>/etc/sudoers && echo 'root:root' | chpasswd
- user를 sudo권한을 가질 수 있도록, sudo group에 추가합니다.
- sudo 명령어를 칠 때, 사용자 계정에서는 최초 1회 비밀번호를 묻습니다.
- 어차피 docker는 혼자만 쓸꺼니까, 비밀번호 묻지 않도록 설정합니다.
- root의 비밀번호는 root로 변경합니다.
- 비밀번호가 root가 싫다면, 'root:비밀번호' 비밀번호부분에 원하는 것으로 바꿔줍니다.
위에 내용들 중에 수정할 것이 없다면, 아래에 command를 그대로 복사해서 사용하면 됩니다.
groupadd -g 123456 user && useradd user -u 1234 -g 123456 -M -s /bin/bash \ && apt-get update && apt-get -y install sudo \ && adduser user sudo && echo 'user ALL=(ALL) NOPASSWD:ALL'>>/etc/sudoers && echo 'root:root' | chpasswd \
'IT 지식 창고' 카테고리의 다른 글
(Python) 간단한 커스텀 프로그레스 바 코드 (0) 2024.02.21 (Pytorch) Pytorch에서 학습 및 테스트 시 GPU VRAM이 계속 증가하는 이유 (2) 2024.02.14 (pytorch) pytorch lightning 사용 시, 이어서 학습하기 (0) 2023.02.08 (pytorch) torch에서 사용할 수 있는 3d classification models 정리 (0) 2023.02.07 (VSCode) vscode에서 python 사용 시, custom module 인식하는 법 (0) 2023.01.18 댓글
- group을 추가하고, 해당 group으로 user(사용자 계정)를 추가합니다.