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