web-dev-qa-db-fra.com

Automatisation d'une opération de montage nécessitant une intervention de l'utilisateur

Je veux monter un répertoire sur un serveur de fichiers au démarrage. Voici mon / etc/fstab entrée:

# mount the fileserver
https://fsrv.company/ /mnt/fileserver davfs user,auto 0 0

Le monter manuellement avec mount /mnt/fileserver fonctionne bien. Cependant, à cause d'un certificat obsolète, cela génère une invite à laquelle je dois toujours répondre par oui:

/sbin/mount.davfs: the server certificate does not match the server name
/sbin/mount.davfs: the server certificate is not trusted
[...]
Accept certificate for this session? [y,N] y

Ce périphérique doit être monté lors du démarrage d’Ubuntu (en raison de l’option auto). Cependant, le périphérique n'est pas monté, probablement à cause de l'entrée requise. Le propriétaire du serveur de fichiers ne mettra pas à jour son certificat.

Comment puis-je automatiser ce processus, de sorte que le périphérique soit monté au démarrage avec la réponse toujours y\n?

EDIT: J'ai téléchargé et placé le certificat dans . Davfs2/certs / et modifié l'entrée dans . Davfs2/davfs2.conf (comme indiqué ci-dessous par @Oli), mais l'entrée interactive reste.

6
jotrocken

Dans mon cas, j’ai utilisé le code mis en évidence par Oli ci-dessus, puis l’option trust_server_cert dans la configuration de dav2fs.

Utile lorsque le certificat du serveur ne peut pas être vérifié ou est même invalide, mais vous savez que vous pouvez faire confiance à ce certificat.

Donc éditez /etc/davfs2/davfs2.conf et ajoutez une ligne qui ressemble à ceci:

trust_server_cert        /etc/davfs2/certs/my.selfsigned.cert.pem

Cela m'a permis de monter un webdav OwnCloud auto-signé même lorsque l'hôte du certificat ne correspondait pas.

5
James

Ne serait-il pas plus facile de résoudre le problème de confiance et d’installer le certificat?

  1. Télécharger le certificat (merci à elec3647sur SuperUser )

    openssl s_client -connect HOSTNAME:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > certificate.pem
    
  2. Copiez le certificat dans /etc/davfs2/certs/

    Sudo cp certificate.pem /etc/davfs2/certs/
    

Cela devrait régler le problème directement.

3
Oli

J'ai rencontré le même problème mais j'ai trouvé une solution différente. J'ai simplement installé le package ca-certificates, car mon certificat a été signé par une autorité de certification officielle: Terena.

/sbin/mount.davfs: the server certificate is not trusted
  issuer:      TERENA, Amsterdam, Noord-Holland, NL
  subject:     Domain Control Validated
  identity:    owncloud-mshe.univ-fcomte.fr
  fingerprint: 0e:5f:b4:02:c2:a7:d7:7f:8b:ef:9c:06:25:0c:c0:1f:d4:38:83:1d

La solution est:

apt install ca-certificates
0
MaxiReglisse

La bonne façon de résoudre ce problème serait de changer le CN (identité) du certificat de serveur pour le définir sur votre domaine (dans ce cas fsrv.company).

Cependant, vous pouvez contourner cela en procédant de la manière ghetto, ajoutez une commande au démarrage (sous Ubuntu, par exemple, Applications de démarrage) avec les éléments suivants:

echo y | mount /mnt/fileserver

En gros, cela "acceptera automatiquement" l'erreur contenue dans le certificat.

0
brickmasterj