2017-04-07 5 views
-2

私はUbuntuので空ドッカーコンテナを走り、などsudoユーザー作成しました:Dockerユーザーでsudoが動作するようなドッカースクリプトを書くにはどうすればいいですか?

[email protected]$ docker run -it ubuntu bash 

[email protected]:/# apt-get update 
[email protected]:/# apt-get -y install sudo 

[email protected]:/# useradd -m -p mosesdocker -s /bin/bash ubiwan 
[email protected]:/# usermod -aG sudo ubiwan # add user to sudo list 
[email protected]:/# su - ubiwan # login to the ubiwan user 

を私はubiwanとしてログインしたときに、パスワードがuseradd -m -p mosesdocker -s /bin/bash ubiwanで指定されmosesdockerではないようです。正しいパスワードを入力しましたが、次のようになります。

To run a command as administrator (user "root"), use "sudo <command>". 
See "man sudo_root" for details. 

[email protected]:~$ sudo su 
[sudo] password for ubiwan: 
Sorry, try again. 
[sudo] password for ubiwan: 
Sorry, try again. 
[sudo] password for ubiwan: 
sudo: 3 incorrect password attempts 

なぜそうですか?

Dockerでsudoを使用することはできますか? Dockerでsudoアクションを実行するための「推奨」とは何ですか?

sudoがDockerユーザーで動作するようなドッカースクリプトを作成するにはどうすればよいですか?

+3

Stack Overflowは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく[Ubuntuに質問する](http://askubuntu.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)がもっと良い場所になるだろう。 [Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww

答えて

1

passwdを使用して、rootとしてユーザーのパスワードを設定する必要があります。

まず、ubiwanとしてログインしている場合は、exitと入力します。 はその後、ルート型として:

passwd ubiwan 

このユーザーのパスワードを与えます。 次に、このパスワードを持つubiwanユーザーとしてsudoを使用することができます

+0

ああ、パスワードはドッカースクリプトで非対話的に設定する必要があります。 – alvas

+1

RUN echo "user ALL =(root)NOPASSWD:ALL"> /etc/sudoers.d/user && \ chmod 0440 /etc/sudoers.d/user 多分上記のようなものが必要ですか? http://gbraad.nl/blog/non-root-user-inside-a-docker-container.htmlから入手しました –

+0

ありがとう! '-p'が' useradd'に影響を与えない理由は何ですか? – alvas

関連する問題