web-dev-qa-db-ja.com

ecryptfs自動マウントスクリプト

Ecryptfsを使用して暗号化されたディレクトリを作成およびマウントするスクリプトを作成しようとしています(sshログオン時(パスフレーズはパイプ経由で送信されます)および他のいくつかのスクリプトによって)。私はすでにecryptfs-setup-privateについて知っています。

私がやろうとしていること:

#!/bin/bash

mkdir 1 &> /dev/null
mkdir 2 &> /dev/null

echo "passphrase_passwd=zxc" > ecryptfs_passphrase_passwd

OPTS="ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_fnek_sig=7513645981364589,ecryptfs_passthrough=n"

cat ecryptfs_passphrase_passwd | \
mount -t ecryptfs -o ${OPTS},key=passphrase:passphrase_passwd_fd=0 1 2

そして、次の出力で何らかの理由で失敗します。

# ./mountit              
Error attempting to evaluate mount options: [-22] Invalid argument
Check your system logs for details on why this happened.
Try updating your ecryptfs-utils package, and/or
submit a bug report on https://launchpad.net/ecryptfs

# tail /var/log/syslog
...
Apr 27 19:28:23 debian mount.ecryptfs: Error initializing key module [/usr/lib/ecryptfs/libecryptfs_key_mod_gpg.so];
Apr 27 19:28:23 debian mount.ecryptfs: parse_options_file: mmap failed on fd [0]; rc = [-22]
Apr 27 19:28:23 debian mount.ecryptfs: tf_pass_file: Error parsing file for passwd; rc = [-22]

私は何が間違っているのですか?

2
scriptaholic

どのバージョンのeCryptfsを使用していますか?

このバグの修正を ecryptfs-utils-94 でリリースしたと思います:

  * src/libecryptfs/cmd_ln_parser.c: LP: #683535
    - fix passphrase_passwd_fd for pipes        
    - handle memory allocation failures         
    - free memory in error paths   

バグ#683535 を参照してください。

完全な開示:私はeCryptfsの作成者および保守者の1人です。

0
Dustin Kirkland