-recover-private ile ilgili sorun: mount (2) başarısız oldu


11

İşletim sistemimi ve verilerimi aynı bilgisayardaki bir sürücüden diğerine taşıma sürecindeyim. (Güzel, yeni bir SSD aldım.) Eski giriş dizinimin içinde şifreli bir alt dizin vardı ve yeni yüklememden şifrelenmiş dizine erişmek istiyorum. Kullanmaya çalışıyorum ecryptfs-recover-private. Ancak, aşağıdaki hatayla karşılaşıyorum.

$ sudo ecryptfs-recover-private /BLAH/.Private
INFO: Found [.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 [BLAH] into the user session keyring
mount: mount(2) failed: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.NcWkVmQ5].

ecryptfs-recover-privateDizini kendi başımıza bulursam veya oturum açma parolasına hayır dersem ama bunun yerine mount parolasını kullanırsam aynı sorunla karşılaşıyorum .

Düşünceler?

(Bu sitede birkaç benzer soru olduğunu fark ettim, ancak hiçbiri durumumu tam olarak kapsamıyor gibi görünüyor.)

Yanıtlar:


5

Dolayısıyla bu basit komutun ecryptfs-recover-privategüvenilir olmadığı kanıtlandı. Metohd hiçbiri yukarıdan taşımaya çalışıyor, benim için çalıştı , eCryptfs için LUKS konteyner.

Ne işe yaradı, ubuntu topluluğu wiki'de açıklanan manuel yöntemdi

Detayda:

# sudo -i
# ecryptfs-add-passphrase --fnek 
Inserted auth tok with sig [aaaaaaaaaaaaa] into the user session keyring 
Inserted auth tok with sig [bbbbbbbbbbbbb] into the user session keyring  
# mkdir -p /mnt/new_mount_point  
# mount -t ecryptfs /mnt/old_mount_point/home/username/.Private /mnt/new_mount_point
  • 3'ü seçin (bir parola anahtar türü kullanın ve kurtarılan parolanızı, diğer bir deyişle kaydırılmamış parola olarak kullanın)
  • aes seçin (aes şifresini kullanın)
  • 16 seçin (16 bayt anahtar kullanın)
  • düz metin geçişini etkinleştir: n
  • dosya adı şifrelemesini etkinleştir: y

2
bu benim için çalıştı, ancak dosya adı şifrelemesinden sonra FNEK imzasının kullanılmasını isteyen ve çıkıştaki ilk kimlik doğrulama kodunu varsayılan olarak son bir soru var ecryptfs-add-passphrase --fnek. Onun yerine 2. kullanmak zorunda buldum.
Darrend

Bu. Benim için çalışan tek yöntem, yukarıda bağlantılı ubuntu topluluğu wiki'yi açmak ve talimatları takip etmektir.
fdierre

Bu benim için çalıştı! Burada belirttiğiniz gibi doğrudan "Verilerinizi El İle Kurtarma" talimatlarını uyguladım : help.ubuntu.com/community/… . Sadece "Mount Parolanızı Kurtarmak" bölümünü de takip etmeniz gerekiyorsa sudo, bahsetmedikleri halde kullanmanız gerektiğini unutmayın. yani: yerine ecryptfs-unwrap-passphrase /home/username/.ecryptfs/wrapped-passphrase, sudo ecryptfs-unwrap-passphrase /home/.ecryptfs/username/.ecryptfs/wrapped-passphrase(kullandığım biraz farklı yola dikkat edin).
Gabriel Staples

Bu çözüm bugün itibariyle eksik görünmektedir. En az bir soru daha Filename Encryption Key (FNEK) Signature [XYZ]:var : Bu imzanın ne olduğu hakkında hiçbir fikrim yok ... @ Martin'in çözümü ( askubuntu.com/a/679565/924202 ) benim için yaptı. :-)
breversa

5

Bunun neden olduğundan emin değilim - belki de yeni kurulumunuzda kurtarmaya çalıştığınızla aynı GİRİŞ parolasını kullanırken çekirdek anahtarlığında bir vidalama.

Bununla birlikte, dosya sistemini kurtarmaya çalışmadan önce sarılmış parolayı çekirdek anahtarlığına eklemek ( sudoaşağıdaki her iki komutta da kullandığınızdan emin olun ):

sudo ecryptfs-insert-wrapped-passphrase-into-keyring /BLAH/.ecryptfs/wrapped-passphrase
sudo ecryptfs-recover-private /BLAH/.Private

Teşekkürler! Bu benim için çalıştı ...
Kanchu

sudoilk komutta da gereklidir ( ecryptfs-insert-wrapped-passphrase-into-keyring) yoksa başka bir hata alıyorum! Error: Unwrapping passphrase and inserting into the user session keyring failed [-5] Info: Check the system log for more information from libecryptfs
Gabriel Staples

1
... ama maalesef 2. komut ( sudo ecryptfs-recover-private /BLAH/.Private) hala benim için başarısız oluyor. :(mount: /tmp/ecryptfs.aLkDeiWo: mount(2) system call failed: No such file or directory. ERROR: Failed to mount private data at [/tmp/ecryptfs.aLkDeiWo].
Gabriel Staples

Bu benim için de işe yaradı. Görünüşe göre, 2018'den beri hacky bir düzeltmeyle açık bir hata var, ancak hala düzeltilmedi: bugs.launchpad.net/ecryptfs/+bug/1769373
breversa

2

Şu anda debian test kullanıyorum ve son zamanlarda şifrelenmiş .Private klasörünün yedeklemesinden bir dosyayı kurtarmak gerekiyordu. Yedekleme NAS'ımda saklanıyor. Seninle aynı sorunu yaşadım. Sarılmış parolayı el ile eklemek, ana kullanıcı olarak (doğru çakışmaları ve herhangi bir şeyi önlemek için) bağlamayı oluşturmak yerine cifs dosya sistemini (NAS'ımdan) kök tarafından elle monte etmek de yardımcı olmadı.

Ancak, sistemimi açıkça yeniden başlattıktan sonra, kendisini cifs dosya sisteminde bulunan .Private klasörünü bağlamak için doğrudan ecryptfs-recover-private komutunu kullanabilirim.

Bu, neyin yanlış gittiğini açıklamasa da ve bir linux kullanıcısı olarak alabileceğiniz daha sinir bozucu ipuçlarından biridir:

Sisteminizi yeniden başlatın ve tekrar deneyin :)


Ah, kitaptaki en eski numara! Bunu bildiğim iyi oldu.
lnmaurer

1

Önceki (orijinal) POSIX kullanıcı adını old_user (ve) olarak yeniden adlandırdıktan sonra orijinal (önceki kullanıcı adının) adıyla yeni bir kullanıcı oluşturduktan sonra benzer hatalar yaşadım.

Şifrelenmiş giriş dizinini old_user'dan bağlayabilmek için, klasöründe .encryptfs ve .Private için sembolik bağlantıları yeniden oluşturmak zorunda kaldım (/ home / original_name / dizinine yazdıkları gibi).

Bundan sonra, aşağıdaki komut eski evi sorunsuz bir şekilde monte etti. / usr / bin / ecryptfs-recover-private /home/old_user/.Özel


Sanırım çok benzer bir sorunum var, ama nasıl çözdüğünüzden emin değilim ... Yeni yazıma bir göz atmak ister misiniz? Teşekkürler! askubuntu.com/questions/1035424/…
Matifou

Merhaba Matifou! Ecryptfs-recover-private /home/.ecryptfs/old_user/.Özel yapma girişiminden hemen sonra sistem günlüğünüzde neler var?
Yaroslav Fedorina

Hey! Anahtarla ilgili sorun yaşıyorsanız (bkz. Dmesg veya syslog), örneğin Açıklamalı anahtar bulunamadı: [XXX] process_request_key_err: Anahtar yok Mount seçeneğinde belirtilen sig için kullanıcı oturumu anahtarlığında geçerli anahtar bulunamadı: parolayı elle eklemeyi deneyin: / usr / bin / ecryptfs-manager içindeki "1" seçeneği Bana yardımcı oldu.
Yaroslav Fedorina

0

Bu basit komutların neden işe yaramadığını anlamak için bu soruna saatler geçirdim. Buldum, ... / home / .ecryptfs ve ... / home / .ecryptfs /username/.ecryptfs adreslerinde yanıltıcı bağlantılar var.

EDIT : aşağıdaki çözümün onaylanması gerekir. Yeniden bağladığınızda zorunlu olmayabilir, ama parametreler verilen ecryptfs-recover-privatekonunun kaynağının olabilir.

Çözümüm /home/.ecryptfs/ dosyasındaki .Private ve .ecryptfs dosyasının göreli yoluyla yeniden bağlanmaktı.

Detaylandırmak için:

Benim durumumda ev kullanıcı ben de okumak istedim / mnt / sda5 / ev ve kullanıcı oldu adam

    $ cd /mnt/sda5/home 

    $ ls -lag .ecryptfs/guy/
        drwxr-xr-x  4 guy    4096  .
        drwxr-xr-x  3 root   4096  ..
        drwx------ 16 guy    4096  .Private
        drwx------  2 guy    4096  .ecryptfs


    $ ls -lag .ecryptfs/guy/.ecryptfs/
        drwx------ 2 guy 4096 Jan 1 00:12 .
        drwxr-xr-x 4 guy 4096 Jan 1 00:11 ..
        -rw------- 1 guy   13 Jan 1 00:11 Private.mnt
        -rw------- 1 guy   34 Jan 1 00:11 Private.sig
        -rw-r--r-- 1 guy    0 Jan 1 00:11 auto-mount
        -rw-r--r-- 1 guy    0 Jan 1 00:11 auto-umount
        -rw------- 1 guy   58 Jan 1 00:12 wrapped-passphrase

    #This were the data are stored

Giriş dizinindeki dosyaları listelerseniz, aşağıdaki bağlantılara sahip olursunuz (düzeltmemden önce)

    $ ls -lag guy/
   lrwxrwxrwx 1 root     28 Jan 2 15:52 .Private  -> /home/guy/.Private
   lrwxrwxrwx 1 root     29 Jan 2 15:49 .ecryptfs -> /home/guy/.ecryptfs

böylece dosyalar, okumaya çalıştığınız dosyalara değil, mevcut / ev ve kullanıcıya bağlanıyor, sizi ve montaj komutlarını karıştırıyor.

Düzeltmeden sonra uyguladım:

    $ ls -lag guy/
    dr-x------ 2 guy 4096 Jan 2 15:52 .
    drwxr-xr-x 6 root   4096 Jan 1 00:11 ..
    lrwxrwxrwx 1 root     28 Jan 2 15:52 .Private -> ../.ecryptfs/guy/.Private
    lrwxrwxrwx 1 root     29 Jan 2 15:49 .ecryptfs -> ../.ecryptfs/guy/.ecryptfs
    lrwxrwxrwx 1 guy   56 Jan 1 00:11 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
    lrwxrwxrwx 1 guy   52 Jan 1 00:11 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt

Benim çözüm .Private ve .ecryptfs dosya göreli yolu ile yeniden bağlanmak oldu

    $ cd /mnt/sda5/home 
    $ cd guy
    $ sudo unlink .Private
    $ sudo unlink .ecryptfs 
    $ sudo ln -sr ../.ecryptfs/guy/.Private
    $ sudo ln -sr ../.ecryptfs/guy/.ecryptfs

Giriş dizinini manuel olarak veya

 cd /mnt/sda5/home 
 sudo ecryptfs-recover-private .ecryptfs/guy/.ecryptfs/.Private

(32 karakterlik bir seri olan MOUNT parolanıza ihtiyacınız olacak)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.