Назад | Перейти на главную страницу

Как я могу использовать дескриптор временного файла с 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?

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