パスワードプロンプトなしでUbuntu NattyにMySQLをインストールしようとしています。ただし、メインのインストール後のある段階でパスワードの入力を求められます。
また、パスワード(mymysqlpass)であると信じるものを入力すると、アクセス拒否通知が表示されます。次に、スクリプトが終了すると、パスワードなしでmysqlにログインできます。つまり、mysql -urootが発生します。
#!/bin/bash
#This script installs mysql (latest build)
#Install MYSQL Server
mysql_pass=mymysqlpass
export DEBIAN_FRONTEND=noninteractive
debconf-set-selections <<< 'mysql-server-5.1 mysql-server/root_password password '$mysql_pass''
debconf-set-selections <<< 'mysql-server-5.1 mysql-server/root_password_again password '$mysql_pass''
apt-get -y install mysql-server
#Configure Password and Settings for Remote Access
cp /etc/mysql/my.cnf /etc/mysql/my.bak.cnf
ip=`ifconfig eth0 | grep "inet addr"| cut -d ":" -f2 | cut -d " " -f1` ; sed -i "s/\(bind-address[\t ]*\)=.*/\1= $ip/" /etc/mysql/my.cnf
mysql -uroot -e "UPDATE mysql.user SET Password=PASSWORD('"$mysql_pass"') WHERE User='root'; FLUSH PRIVILEGES;"
sleep 10
mysql -uroot -p$mysql_pass -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '"$mysql_pass"'; FLUSH PRIVILEGES;"
#Restart
service mysql restart
echo "MySQL Installation and Configuration is Complete."
私は非常に危険です!これが必要ですか?
—
パスカル運賃
仮想マシンをプロビジョニングする場合、1つの理由があります。本当に心配なのであれば、ランダムに暗号化された安全なパスワードを作成し、スクリプトにcronジョブを作成させて、トラフィックがほとんどないときにパスワードを通知し、システムをエアギャップさせることができると確信しています時間。それが消える前にあなたがそれを与える5秒の間にあなたがコンピュータを見ていることをちょうど確かめなさい。
—
トリシス
OPは「パスワードの入力を求められ続けます」と言いますが、彼のサンプルコードには
—
マスタジ
debconf-set-selections
それを回避する2行があり、質問とサンプルコードは2つの異なる時点で編集されたと考えられているため、質問はもう意味がありません。