web-dev-qa-db-ja.com

ユーザー入力を必要とするマウント操作の自動化

起動時にファイルサーバーにディレクトリをマウントしたい。これは私の/ etc/fstabエントリです:

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

mount /mnt/fileserverを使用して手動でマウントすると正常に機能します。ただし、証明書が古くなっているため、プロンプトが表示され、常にyesと答える必要があります。

/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

このデバイスは、Ubuntuの起動時にマウントする必要があります(autoオプションにより)。ただし、おそらく入力が必要なため、デバイスはマウントされていません。ファイルサーバーの所有者は証明書を更新しません。

デバイスが起動時にマウントされ、常にy\nになるように、このプロセスを自動化するにはどうすればよいですか?

編集:証明書をダウンロードして。davfs2/certs /に配置し、。davfs2/davfs2.confのエントリを編集しました(以下に@Oliで示唆されています)が、インタラクティブな入力は残ります。

6
jotrocken

私の場合、上記の Oli で強調表示されたコードを使用し、dav2fs構成で trust_server_cert オプションを使用しました。

サーバーの証明書を検証できないか、無効であっても、この証明書を信頼できることがわかっている場合に役立ちます。

/etc/davfs2/davfs2.confを編集して、次のような行を追加します。

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

これにより、証明書のホストが一致しなくても、自己署名したOwnCloud webdavをマウントできました。

5
James

信頼の問題を修正して証明書をインストールする方が簡単だと思いませんか?

  1. 証明書をダウンロードします( elec3647on on SuperUser に感謝)

    openssl s_client -connect HOSTNAME:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > certificate.pem
    
  2. 証明書を/etc/davfs2/certs/にコピーします

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

それは問題を直接処理するはずです。

3
Oli

同じ問題が発生しましたが、別の解決策が見つかりました。私の証明書は公式CAであるTerenaによって署名されているため、ca-certificatesパッケージをインストールしただけです。

/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

解決策は次のとおりです。

apt install ca-certificates
0
MaxiReglisse

これを解決する適切な方法は、サーバー証明書のCN(ID)を変更してドメイン(この場合はfsrv.company)に設定することです。

ただし、ゲットーの方法でこれを回避するには、次のコマンドを使用してブートにコマンドを追加します(たとえば、Ubuntuではスタートアップアプリケーションになります)。

echo y | mount /mnt/fileserver

これにより、基本的に証明書のエラーが自動的に受け入れられます。

0
brickmasterj