#1 Le 09/02/2018, à 21:58
- Nathaly01
j'y connais rien mais je dois en mettre un en place
Bonjour,
Je suis entrain de configurer openDmarc et pour pouvoir envoyer les rapports tous les jours, je dois faire un script bash mais sur ce point là, je suis plus que nul.
Je vous donne quelque infos:
utilisateur openDmarc : opendmarc@localhost
MDP : BesoinDaideLol
BDD : opendmarc sur le serveur monserver (postfix et mysql sont sur le même serveur)
dmarc [at] example [dot] com = une de mes adresses mail présente dans ma base de données ( ex : dmarc@mondomaine.fr)
J'ai pour base ce script à modifier :
#!/bin/bash
DB_SERVER='database.example.com'
DB_USER='opendmarc'
DB_PASS='password
DB_NAME='opendmarc'
WORK_DIR='/var/run/opendmarc'
REPORT_EMAIL='dmarc [at] example [dot] com'
REPORT_ORG=example.com'
mv ${WORK_DIR}/opendmarc.dat ${WORK_DIR}/opendmarc_import.dat -f
cat /dev/null > ${WORK_DIR}/opendmarc.dat
/usr/sbin/opendmarc-import --dbhost=${DB_SERVER} --dbuser=${DB_USER} --dbpasswd=${DB_PASS} --dbname=${DB_NAME} --verbose < ${WORK_DIR}/opendmarc_import.dat
/usr/sbin/opendmarc-reports --dbhost=${DB_SERVER} --dbuser=${DB_USER} --dbpasswd=${DB_PASS} --dbname=${DB_NAME} --verbose --interval=86400 --report-email $REPORT_EMAIL --report-org $REPORT_ORG
/usr/sbin/opendmarc-expire --dbhost=${DB_SERVER} --dbuser=${DB_USER} --dbpasswd=${DB_PASS} --dbname=${DB_NAME} --verbose
et dans le tuto que je suis, on me demande de l'exécuter sous utilisateur opendmarc
copie de ce qu'on me demande de faire :
Rendez le script exécutable:
chmod +x /etc/opendmarc/report_script
Et exécutez-le sous l'utilisateur opendmarc comme un test:su -c "/etc/opendmarc/report-script" -s /bin/bash opendmarc
et c'est là que tout par en c*******
su opendmarc -c "/etc/opendmarc/report-script" -s /bin/bash opendmarc
Mot de passe :
su: Échec d'authentification
alors que :
exemple .com ont été remplacé par mondomaine.fr
database.example.com par monserveur.mondomaine.fr
password par le MDP de opendmarc (même si je trouve ce truc un peu lége d'avoir un MdP dans un fichier relativement libre de droit)
donc je comprend rien parce que c'est nouveau pour moi
mais ça ne fonctionne pas
Pouvez vous m'aider à construire ce script correctement afin que ça fonctionne ?
Merci de votre aide
Dernière modification par Nathaly01 (Le 09/02/2018, à 22:07)
Hors ligne
#2 Le 09/02/2018, à 22:07
- Watael
Re : j'y connais rien mais je dois en mettre un en place
salut,
su: Échec d'authentification
quel mot de passe as-tu entré ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 09/02/2018, à 22:13
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
J'ai essayé avec celui de root, enfin mon MDP sur mon serveur, et celui de opendmarc
J'ai tout de suite pensé à une faute de frappe mais après plusieurs contrôle, ben ça n'a pas l'air d'être ça
Merci de ta réponse rapide !!!
Hors ligne
#4 Le 09/02/2018, à 22:16
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
D'ailleurs ça ne peut pas être le MDP de opendmarc puisque celui_ci est spécifié dans DB_PASS ?
Hors ligne
#5 Le 09/02/2018, à 22:26
- Watael
Re : j'y connais rien mais je dois en mettre un en place
bien sûr que c'est celui de opendmarc, puisque tu demandes à su d'exécuter une commande sous cette identité :
su opendmarc -c /etc/opendmarc/report-script
Dernière modification par Watael (Le 09/02/2018, à 22:27)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 09/02/2018, à 22:33
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
Ok, j'avoue, c'est des commandes nouvelles pour moi mais même avec son MdP, j'ai la même réponse du serveur
Re tester 3 fois par mon fils et toujours la même réponse.
Dernière modification par Nathaly01 (Le 09/02/2018, à 22:43)
Hors ligne
#7 Le 09/02/2018, à 22:43
- Watael
Re : j'y connais rien mais je dois en mettre un en place
ce n'est pas une réponse du serveur, c'est un message d'erreur de su.il faut donner le mot de passe de connexion au système de opendmarc, et pas le mot de passe de opendmarc pour accéder à la base de données.
tu peux te connecter en tant que opendmarc ?
su - opendmarc
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 09/02/2018, à 22:53
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
Le MdP de de opendmarc a été hachker lors de l'entré en BDD. Je me suis peut-être trompée à ce moment.
comment faire pour renouveler un MdP sécuris" si l'original est faut à part supprimer la ligne via phpmyadmin ?
et tous refaire correctement ....
Hors ligne
#9 Le 09/02/2018, à 22:57
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
ce n'est pas une réponse du serveur, c'est un message d'erreur de su.il faut donner le mot de passe de connexion au système de opendmarc, et pas le mot de passe de opendmarc pour accéder à la base de données.
tu peux te connecter en tant que opendmarc ?
su - opendmarc
ben je sais pas, j'ai jamais fais un truc pareil même avec mes compte valide sur le serveur.
j'essaie et ensuite je poste
Hors ligne
#10 Le 09/02/2018, à 23:22
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
PIRE :!!!
EN FAISANT
mysql -u opendmarc -p
et en entrant son MdP, pas de problème, je me connecte à Mysql donc pas d'erreur dans le MdP
donc c'est vraiment le script qui comporte une erreur
Dernière modification par Nathaly01 (Le 09/02/2018, à 23:25)
Hors ligne
#11 Le 09/02/2018, à 23:39
- Watael
Re : j'y connais rien mais je dois en mettre un en place
est-ce que je peux avoir une réponse à ma question ?
je ne te demande pas de te connecter à mysql avec le mot de passe d'opendmarc pour mysql,
mais de connecter opendmarc au compte opendmarc avec son mot de passe système en utilisant su !
tu n'arrive même pas au script, c'est su qui bloque !
Dernière modification par Watael (Le 09/02/2018, à 23:41)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 09/02/2018, à 23:46
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
C'est ça que tu me demande de faire ?
su opendmarc
Mot de passe :
su: Échec d'authentification
??
Hors ligne
#13 Le 09/02/2018, à 23:50
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
je suppose donc qu'il y a une erreur au niveau de l'entrer d'origine et que le MdP que j'ai n'est pas le bon car je me suis trompé la première fois ...
C'est ça ou c'est peut-être autre chose ?? Je suis perdu !!
Fatiguée la fille ce soir, je reprendrai demains matin; Bonne nuit à tous
Merci de votre aide !!
Hors ligne
#14 Le 09/02/2018, à 23:54
- Watael
Re : j'y connais rien mais je dois en mettre un en place
voilà. merci.
donc, tu n'as pas le mot de passe système de opendmarc.
et tu ne peux pas passer par su.
est-ce un utilisateur, d'ailleurs ?
getent passwd opendmarc || echo "opendmarc n'existe pas"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#15 Le 10/02/2018, à 08:59
- bruno
Re : j'y connais rien mais je dois en mettre un en place
Bonjour,
Si opendmarc a été installé correctement via les paquets, l'utilisateur système opendmarc (pas de shell) a été créé.
Suivre un tuto nécessite de comprendre les commandes suggérées et d'être capable de les adapter à la distribution GNU/Linux utilisée.
Je te laisse chercher les différences d'usage et de contexte entre su (Substitute User) et sudo (Substitute User DO). Je dirai juste que su permet de se substituer à n’importe quel utilisateur dont on connaît le mot de passe (donc un utilisateur standard). Alors que sudo permet à un utilisateur présent dans sudoers de se substituer à 'importe quel utilisateur en saisissant son propre mot de passe.
Quoiqu'il en soit c'est une utilisation très avancée d'opendmarc !
Une configuration simple avec l'enregistrement DNS idoine est amplement suffisant.
L'envoi de rapports aux autres (rares) serveurs qui le demanderaient est AMHA hors de propos pour un serveur mail personnel…
Dernière modification par bruno (Le 10/02/2018, à 09:19)
#16 Le 10/02/2018, à 16:28
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
Bonjour,
L'utilisateur opendmarc n'est pas un utilisateur du systeme, il existe juste pour que opendmarc puisse se connecter à MySQL pour enregistrer ou récupérer les données. Ce n'est donc qu'un compte MySQL et c'est compréhensible qu'il y ait cet echec d'authentification.
Si dessous, mon fichier opendmarc.conf
AuthservID monserveur.mondomaine.fr
PidFile /var/run/opendmarc.pid
RejectFailures false
Syslog true
TrustedAuthservIDs monserveur.mondomaine.fr
UMask 0002
UserID opendmarc:opendmarc
IgnoreHosts /etc/opendmarc/ignore.hosts
HistoryFile /var/run/opendmarc/opendmarc.dat
#for testing:
SoftwareHeader true
Merci Bruno mais j'ai parfaitement compris ce que je faisais durant l'installation de opendmarc et d'ailleurs ça fonctionne parfaitement donc j'ai bien adapté le tuto à ma distribution. Je ne désire qu'aller plus loin pour en apprendre un peu plus sur quelque chose que je ne connais pas du tout, c'est à dire les scripts d'automatisation de tache. Alors certes, je ne connaissais pas la commande su car j'utilise toujours sudo ou sudo su et ta réponse ne donne aucune piste pour comprendre pourquoi la commande ne fonctionne pas.
Dernière modification par Nathaly01 (Le 10/02/2018, à 16:31)
Hors ligne
#17 Le 10/02/2018, à 19:12
- Watael
Re : j'y connais rien mais je dois en mettre un en place
je te l'ai dit : ce n'est pas que la commande ne fonctionne pas,
c'est que su, ne reconnaissant pas l'utilisateur, ou son mot de passe, interrompt le lancement du script.
PS: l'emploi de sudo su est très rarement justifié.
si tu veux te connecter en tant que root avec sudo, utilise sudo -i, ou sudo -s (en ajoutant l'option -u pour les autres utilisateurs que root)
Dernière modification par Watael (Le 10/02/2018, à 19:15)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#18 Le 10/02/2018, à 20:42
- Nathaly01
Re : j'y connais rien mais je dois en mettre un en place
Ok merci.
Je pense que je vais oublier pour le moment de faire ce script, j'en avais jamais fait et ça ne me manque pas pour l'instant
Ou puis je trouver un cour m'expliquant vraiment et en profondeur l'utilisation de sudo ?
Parce que je ne connais pas sudo -i, sudo -s, etc ...
Merci pour votre aide et d'avoir pris du temps pour me répondre.
Hors ligne
#19 Le 11/02/2018, à 09:26
- bruno
Re : j'y connais rien mais je dois en mettre un en place
Merci Bruno mais j'ai parfaitement compris ce que je faisais durant l'installation de opendmarc et d'ailleurs ça fonctionne parfaitement donc j'ai bien adapté le tuto à ma distribution.
Non tu n'as pas parfaitement compris. Contrairement à ce que tu dis opendmarc est bien un utilisateur système. Il est créé à l'installation du paquet opendmarc. Pour t'en convaincre :
grep opendmarc /etc/passwd
Et non tu n'as pas adapté à ta distribution puisque tu as utilisé su pour lancer une commande en tant qu'utilisateur opendmarc. Je pense que mon explication sur su et sudo était assez claire et je ne vois pas l'interêt de recopier ici la documentation accessible sur ton système et sur le web.
Je vais quand me préciser. opendmarc n'est pas un utilisateur standard. C'est un utilisateur système sans mot de passe. Il ne peut pas ouvrir une session interactive.
Tu ne peux donc pas lancer une commande en tant que opendmarc avec su, par contre avec sudo tu pourras.
Désolé si tu as l'impression de te faire envoyer balader avec des RTFM, mais je vais recommencer
Ou puis je trouver un cour m'expliquant vraiment et en profondeur l'utilisation de sudo
man su
man sudo
Si tu veux la même chose en français au préalable :
sudo apt install manpages-fr manpages-fr-extra
Dernière modification par bruno (Le 11/02/2018, à 09:27)
#20 Le 11/02/2018, à 10:09
- Compte supprimé
Re : j'y connais rien mais je dois en mettre un en place
Bonjour,
Si tu veux la même chose en français au préalable :
sudo apt install manpages-fr manpages-fr-extra
Je viens d'installer les paquets mais si je fais
man sudo
, la réponse reste en Anglais .... Dommage . Cependant pour d'autres "instructions", cela marche..
Bonne suite,
Fabien
#21 Le 11/02/2018, à 10:29
- bruno
Re : j'y connais rien mais je dois en mettre un en place
Oui toutes les pages ne sont pas toutes traduites et celles qui sont traduites ne sont pas forcément à jour. La référence reste donc la version originale en anglais.
La version originale peut toujours être invoquée en précisant la langue, exemple :
man -L C su
#22 Le 13/02/2018, à 22:24
- Spirale21
Re : j'y connais rien mais je dois en mettre un en place
Bonjour
Peux tu taper
$ grep -i '^opendmarc' /etc/passwd
et nous donner le résultat SVP
Dernière modification par Spirale21 (Le 13/02/2018, à 22:34)
il y a trois manière de faire: la bonne, la mauvaise et la mienne
Hors ligne