Donc, je confecte un WordPress guide de sauvegarde/faisant un horaire de sauvegarde pour moi-même pour de vrai.
Je veux faire des vidanges MySQL tous les jours, mais la commande nécessite soit
-p then user input
ou
--password="plain text password"
Puis-je le transmettre à un fichier au moins MD5 ou mieux haché et protégé pour augmenter la sécurité mais que la commande ne nécessite aucune entrée utilisateur?
Toute aide est appréciée!
Pour référence voici la commande que je veux exécuter
mysqldump -u [username] --password=~/wp_backups/sqldumps/.sqlpwd [database name] > ~/wp_backups/sqldumps/"$(date '+%F').sql"
Vous avez suivi des options de mot de passe:
-p
optionMYSQL_PWD
variable d'environnement~/.my.cnf
Fichier sous le [mysqldump]
sectionDans tous les cas, votre client a besoin d'un mot de passe en texte brut pour pouvoir s'authentifier. Vous avez mentionné les hachages, mais le trait d'un hachage est que c'est une fonction de conversion à sens unique (c'est-à-dire que vous ne pourrez pas restaurer le mot de passe d'origine d'un hachage), il est donc inutilisable comme jeton d'authentification.
Puisque vous sauvegardez le Wordpress Database à partir du même compte qui héberge votre Wordpress Il n'existe aucune amélioration de la sécurité d'essayer de masquer le mot de passe de la utilisateur qui exécute Wordpress (les informations d'identification de la base de données peuvent être facilement extraites du wp-config.php
Dossier de toute façon).
Donc, je suggère de définir ce qui suit ~/.my.cnf
:
[mysqldump]
Host = your_MySQL_server_name_or_IP
port = 3306
user = database_user_name
password = database_password
Assurez-vous ensuite que le fichier contient les 0600 autorisations. De cette façon mysqldump
n'a pas besoin d'identification de base de données spécifiée sur sa ligne de commande (elles seront lues à partir de l'~/.my.cnf
déposer.
Cela crée un fichier (il pourrait s'agir d'un fichier n'importe quel fichier er est OS) qui transmet le mot de passe et le nom d'utilisateur dans le fichier. Même si c'était "haché", cela ne ferait pas la différence si quelqu'un a eu une prise du fichier, ils pourraient simplement l'utiliser comme cela. Si cela fonctionne pour moi, cela fonctionnerait pour eux.
Donc, pour répondre à la partie Sécurité de ma question, chmod 0600 et sudo chown $ utilisateur: NogRoup empêchera un accès non autorisé au fichier une fois créé.
mkdir ~/wp_backups/sqldumps && touch ~/wp_backups/.sqlpwd && nano ~/wp_backups/.sqlpwd && chmod 600 ~/wp_backups/.sqlpwd && Sudo chown $USER:nogroup ~/wp_backups/.sqlpwd
- contenu SQLPWD
[mysqldump] # NEEDED FOR DUMP
user=username
password=password
[mysql] # NEEDED FOR RESTORE
user=username
password=password
--SQL CLI Syntaxe
mysqldump --defaults-extra-file=~/wp_backups/.sqlpwd [database] > ~/wp_backups/sqldumps/"$(date '+%F').sql"