Я пытаюсь создать сценарий, который создает и монтирует зашифрованный каталог с помощью 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]
Что я делаю не так?
Какую версию 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.