私はこのDockerfileを持っています:
FROM ubuntu:17.04
# Must have packages
RUN apt-get update && apt-get install -y nano zsh curl git
# Instal Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/sonicradish/g' /root/.zshrc
# Add none root user
RUN adduser admin
USER admin
Zshシェルでadminユーザーと接続しています。
docker exec -ti linux zsh
非rootユーザー(admin)を追加しています。
このユーザーでSudo
コマンドを実行したいのですが、エラーが発生します:
$ Sudo apt-get install vim
zsh: command not found: Sudo
Bashシェルと同じメッセージ。
非rootユーザーでSudo
コマンドを実行するにはどうすればよいですか?
Sudo
を使用しない場合、許可エラーが表示されます。
$ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
これは私がすることです
FROM ubuntu:17.04
# Must have packages
RUN apt-get update && apt-get install -y vim nano zsh curl git Sudo
# Install Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/sonicradish/g' /root/.zshrc
# Add none root user
RUN useradd admin && echo "admin:admin" | chpasswd && adduser admin Sudo
USER admin
非rootユーザーを作成し、それをsudoersグループに追加するだけです:
FROM ubuntu:17.04
RUN apt-get update
RUN apt-get install Sudo
RUN adduser --disabled-password --gecos '' admin
RUN adduser admin Sudo
RUN echo '%Sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER admin