Ubuntu 16.04で要件を無効にする方法[閉じる]

Ubuntu 16.04で要件を無効にする方法[閉じる]

私は自動化されたLinuxゴールデンイメージを生成するためにPackerを使用しています。

sudoが必要なスクリプトを実行しようとすると、次のエラーが発生します。

sudo: no tty present and no askpass program specified

このエラーはインターネットで長い間議論されており、次のいずれかの方法を使用することをお勧めします。

  1. SSHの使用-t
  2. /etc/sudoersから削除Defaults:username !requiretty
  3. SUDO_ASKPASS エクスポート=/usr/libexec/openssh/ssh-askpass
  4. suodersグループにユーザーを追加する%admin ALL=(ALL) NOPASSWD:ALL

Ubuntu 16.04に付属の/ etc / sudoersファイルにそのファイルが含まれていないことを確認しましたrequiretty。 Ubuntuがまだエラーを報告しているのはなぜですか?sudo: no tty present and no askpass program specified

ここに画像の説明を入力してください。

https://github.com/mitchellh/vagrant/issues/1482

https://askubuntu.com/questions/281742/sudo-no-tty-present-and-no-askpass-program-specified

答え1

スクリプトの順序に問題があることがわかりました。

sudoers ファイルで放浪者ユーザー sudo 権限を許可すると、問題がなくなりました。

https://github.com/chef/bento/blob/master/scripts/ubuntu/sudoers.sh

sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=sudo' /etc/sudoers
sed -i -e 's/%sudo  ALL=(ALL:ALL) ALL/%sudo  ALL=NOPASSWD:ALL/g' /etc/sudoers

関連情報