Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

Watael a écrit :

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)

Hors ligne

#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

Nathaly01 a écrit :

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 wink

Nathaly01 a écrit :

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)

Hors ligne

#20 Le 11/02/2018, à 10:09

Compte supprimé

Re : j'y connais rien mais je dois en mettre un en place

Bonjour,

bruno a écrit :

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

Hors ligne

#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