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
前もって感謝します!
自分で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
にはさらに多くの情報があります。
以前の(元の)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