web-dev-qa-db-ja.com

古い暗号化されたホームディレクトリをマウントできません

Ubuntuの残りのインストールとは別のハードドライブにhomeディレクトリをホストします。最近、新しいドライブを入手しましたが、古いドライブから新しいドライブにユーザーデータを移行しています。

問題は、ecryptfsを使用してユーザーのホームディレクトリを暗号化したため、古い暗号化ディレクトリをマウントできないことです。 この同様のスレッド を認識しており、ecryptfs-recover-privateコマンドを使用しようとしましたが、次のエラーが表示されます(dmsgの出力で更新) :

jrsmith3@hermes:~$ Sudo ecryptfs-recover-private || Sudo dmesg -T | tail -n 5
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/mnt/.ecryptfs/jrsmith3/.Private].
Try to recover this directory? [Y/n]: 
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] 
INFO: Enter your LOGIN passphrase...
Passphrase: 
Inserted auth tok with sig [154a85415793937b] into the user session keyring
mount: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.HUXQDUjB].
[Sun Dec  6 10:21:34 2015] Could not find key with description: [a798123c6b6e6b59]
[Sun Dec  6 10:21:34 2015] process_request_key_err: No key
[Sun Dec  6 10:21:34 2015] Could not find valid key in user session keyring for sig specified in mount option: [a798123c6b6e6b59]
[Sun Dec  6 10:21:34 2015] One or more global auth toks could not properly register; rc = [-2]
[Sun Dec  6 10:21:34 2015] Error parsing options; rc = [-2]

私は問題がecryptfsにないのではないかと疑っています。 mountコマンドでエラーが発生しているように見えますが、わかりません。

Ubuntuを実行しています:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

前もって感謝します!

6
joshua.r.smith

自分でecryptfs-recover-privateスクリプトをステップ実行してみてください?これは単なるbashスクリプトです。関連する行をコピーしてターミナルに貼り付け、変数を実際のファイルに置き換えます。

ecryptfs-recover-privateスクリプトをコピーして変更することもできます。いくつかの余分なエコー行を追加して、マウント前の変数、実行するエコー行などを確認します(前にすべての行を表示するbash設定があると確信しています)実行されますが、今は思い出せません。)

ecryptfs-insert-wrapped-passphrase-into-keyringまたは.ecryptfs/Private.sig署名は一致しないかもしれませんが、スクリプトはそれをチェックしますが...出力は1つのキーsigを挿入し、異なるsigでマウントを試みます。

少なくとも-vを指定してmountを実行すると、もう少しフィードバックが得られ、フォルダーとsigが正しいことを確認できます。

バグもあります。mount.ecryptfsだけで考えましたが、おそらくここに表示され、fnekとfekekのsigが何らかの形で切り替えられます。

または、一部のファイルが破損している可能性があります。 fsckニュース、または現在のバックアップが必要になる場合があります。また、/var/log/syslogにはさらに多くの情報があります。

1
Xen2050

以前の(元の)POSIXユーザー名をold_userに変更し、元の(以前のユーザー名)ログインで新しいユーザーを作成した後、同じエラーERROR: Failed to mount private data at [/tmp/ecryptfs....]が発生しました。

Old_userから暗号化されたホームディレクトリをマウントできるようにするには、そのフォルダー内で.encryptfsと.Privateのシンボリックリンクを再作成する必要がありました(/ home/original_name /に挿入されていたため)。

その後、次のコマンドは問題なく古いホームをマウントしました。

/usr/bin/ecryptfs-recover-private /home/old_user/.Private

キーの問題のために上記が失敗した場合(dmesgまたはsyslogを参照)、例:.

Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]

次に、パスフレーズを手動で追加してみてください:Option 1 in /usr/bin/ecryptfs-manager(キーがすでに存在することを示す場合がありますが、OKです。)ecryptfs-recover-private /home/old_user/.Privateをもう一度実行しますそれでもエラーが発生する場合は、次のコマンドを試してください。

ecryptfs-insert-wrapped-passphrase-into-keyring /home/old_user/.ecryptfs/wrapped-passphrase
1