Nachdem ich das Problem mit der Verwendung eines Kennworts in der Befehlszeile verstanden habe , muss ich einen Weg finden, ein Programm mit einem Kennwort zu füttern, ohne dass dies ein Problem darstellt (ohne dass das Kennwort irgendwo aufgezeichnet wird).
Ich habe ein Bash-Skript, das automatisch einen gesamten LAMP-Server von der Quelle installiert: Apache, FastCGI, PHP und MySQL. Diese Installationen erfordern ein Passwort, insbesondere MySQL.
Wie kann ich das Skript vollständig automatisieren, ohne das Passwort preiszugeben?
Bearbeiten (9. Juni, 3:55 UTC):
Ich rufe MySQL mit einem Passwort in der Befehlszeile über root auf:
root@dor-desktop:/home/dor# PASS=`cat /home/dor/tmpf/pass`
root@dor-desktop:/home/dor# mysql -u root -p"$PASS"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
(PASS = "p4ssw0rd" in unserem Fall)
Und ich führe ps aux | grep mysql
über meinen regulären Benutzer (dor) aus, der mir das Passwort nicht anzeigt !
(Einige von) ps
Ausgaben sind:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3562 0.0 0.0 34156 2864 pts/0 S+ 05:53 0:00 mysql -u root -px xxxxxx
Wie ist das möglich?