Как я могу использовать временный файловый дескриптор с ecryptfs?

Я хотел бы иметь возможность запустить скрипт, попросить его ввести пароль и затем смонтировать ecryptfs каталог. Я не хочу, чтобы пароль располагался в файловой системе или отображался в журналах, psи т. д. Я подумал, что могу использовать для этого временный дескриптор файла; тем не мение, ecryptfs возвращает ошибку со следующими утверждениями.

willi@hostname:~$ exec 3<<<"passphrase_passwd="$(zenity --password)
willi@hostname:~$ sudo mount -t ecryptfs -o ecryptfs_cipher=aes,\
  ecryptfs_key_bytes=16,ecryptfs_passthrough=no,\
  ecryptfs_enable_filename_crypto=y,ecryptfs_fnek_sig=1234678765432345678,\
  key=passphrase:passphrase_passwd_fd=3 /mountpoint/ /mountpoint/
Error attempting to evaluate mount options: [-1] Operation not permitted
Check your system logs for details on why this happened.
Try updating your ecryptfs-utils package, and/or
submit a bug report on https://bugs.launchpad.net/ecryptfs

После того, как ошибка возвращается, я могу убедиться, что ecryptfs не прочитал дескриптор файла, потому что пароль все еще сидит в нем:

willi@hostname:~$ cat <&3
passphrase_passwd=test

Я рассмотрел подход в скрипте автонастройки encryptfs; хотя я бы хотел, чтобы пароль не был в файле в файловой системе.

Я использую версию 103 ecryptfs-utils:

willi@hostname:~$ ecryptfsd --version
ecryptfsd (ecryptfs-utils) 103

This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Как я могу использовать дескриптор временного файла с ecryptfs?

1 ответ

Оказывается, проблема заключалась в том, что я бежал zenity как обычный пользователь, а затем с помощью sudo выполнить команду монтирования. Когда я вставил обе команды в скрипт и запустил весь скрипт как root, все работало отлично.

Другие вопросы по тегам