Machine: sudo:ttyが存在せず、askpassプログラムが指定されていません

作成日 2016年06月29日  ·  5コメント  ·  ソース: docker/machine

MacOSXキャプテンをホストオペレーティングシステムとして使用しています
UbuntuImagesからコンテナを作成しました
コンテナbashはデフォルトでrootユーザーで実行されます

apt-getでsudoをインストールしました
それから私はtest-userと呼ばれる非特権ユーザーを作成しました

テストユーザーとbashを実行します
docker exec -i -t -u test-user container-id bash

sudo apt-getinstallを使おうとすると
このエラーがsudoになります:ttyが存在せず、askpassプログラムが指定されていません

セキュリティ上の問題があるため、rootまたはadminユーザーを使用してプログラムを実行するべきではないことを読んだので、そうしようとしています。

最も参考になるコメント

私は同じ問題を抱えています。 / etc / sudoers(sudoersはファイル)にアクセスしてユーザー名を追加する人もいますALL =(ALL)NOPASSWD:ALL(パスワードを必要としないようにする)は機能するので、試してみることができますが、それは私にとってはうまくいきませんでした。 他の誰かがより良い提案を得ましたか?

全てのコメント5件

私は同じ問題を抱えています。 / etc / sudoers(sudoersはファイル)にアクセスしてユーザー名を追加する人もいますALL =(ALL)NOPASSWD:ALL(パスワードを必要としないようにする)は機能するので、試してみることができますが、それは私にとってはうまくいきませんでした。 他の誰かがより良い提案を得ましたか?

はい、それは私のために働きます、
visudoコマンドを使用してファイルを編集し、ユーザー名が正しく入力されていることを確認してください。ただし、ターミナルを閉じるのを忘れた場合、ラップトップを使用する人はパスワードなしでsudoコマンドを使用してこのソリューションが保護されるかどうかはわかりません。任意のプログラムを挿入します。

パスワードを入力する方法を見つけようとしていますが、機能しません。

これも私にとってはうまくいきました。 usernameではなく実際のユーザー名を使用してください

ここでも同じ問題があります。 dockerを実行しているリモートマシンに対するsudo権限を持っていますが、ローカルのdocker-machine構成を作成するためにリモートsudoers構成をいじるのはどういうわけか間違っているようです。

同様の問題。 aws用にビルドする場合、デフォルトのdocker-machinesshユーザーは_ubuntu_です。 別のsudoユーザー(_demouser_のような親しみやすいもの)を作成するか、リモートVMの作成が完了した後で_ubuntu_ユーザーの名前を変更しようとしています。

どちらの場合も、 https://askubuntu.com/questions/34074/how-do-i-change-my-usernameと同様の手順を使用(またはスクリプト)でき

  • 新規または一時的なsudoユーザーを追加します
  • オプション:

    • 新規/一時ユーザーとしてログインし、_ubuntu_ユーザーの名前/ホームディレクトリを変更します

どちらの手順にも同じ問題があります。新しいユーザーまたは_changed_ "ubuntu"ユーザーは、sudoが機能するためのパスワードを指定する必要があります。 sudoersファイルを編集してnopasswdオプションを設定しない限り。 元の「ubuntu」(デフォルト)ユーザーには、sudoerに追加の構成がなくても、パスワードなしのsudoを許可する秘密のソースがいくつかあります。

このページは役に立ちましたか?
0 / 5 - 0 評価