Geçenlerde Ubuntu 12.10'u yükledim ve önyüklemek için bir parola gerekli (şifreli bir dosya sistemiyle kurdum).
Standart şifrelenmemiş bir dosya sistemine geçmek için yeniden kurmam gerekir mi?
Geçenlerde Ubuntu 12.10'u yükledim ve önyüklemek için bir parola gerekli (şifreli bir dosya sistemiyle kurdum).
Standart şifrelenmemiş bir dosya sistemine geçmek için yeniden kurmam gerekir mi?
Yanıtlar:
Ubuntu önyükleme sırasında bir şifreleme şifresi isterse (örneğin, giriş ekranı görüntülenmeden önceki metin konsolunda), bu tam disk şifreleme yönteminin kullanıldığını gösterir. (Bunu yapmanın birden fazla yolu var, ancak cevabı genel olarak tutacağım.) Şifreleme, dosya sistemi ile fiziksel sabit sürücü arasındaki dosya sistemi ile değil ekstra bir yazılım katmanı tarafından gerçekleştirilir.
Bunu geri almak için basit bir yöntem veya araç yoktur. Linux sistemlerinin nasıl çalıştığı hakkında biraz bilgi ile yapılabilir. Tüm dosya sistemini (veya tüm dosyaları) başka bir bölüme (yeterli boş alana sahip) veya harici HDD'ye taşımalısınız. Ardından, şifreli kabı kaldırın ve dosya sistemini şifrelemeden yeniden oluşturun. Son olarak, yeni dosya sisteminin önyükleyici tarafından ve mount -a
yeniden başlatmadan önce doğru bir şekilde tanındığından emin olun .
Mümkünse, bu zaman alıcı ve hataya açık prosedürden kaçınmak en iyisidir. Sadece yeni bir kurulum yapın. Yeni kullanıcılar için bu en hızlı ve en güvenli seçenektir.
Not: Muhtemelen boş bir dize şifreleme şifresini değiştirebilirsiniz. O zaman şifre çözme yalnızca Enter tuşuna basmanız gerekir. Belki daha ileri gidebilir ve (şimdi işe yaramaz) parola komut istemine baskı yapabilirsiniz. Ancak, bu şifrelemeyi devre dışı bırakmaz. Anahtar önemsiz bir şekilde tahmin edilebildiğinden şifreleme yararsız olsa da, veriler hala şifrelenir.
dd
ve altındaki sürücüler her bloğu okumayı bitirene kadar yazmazlar (bunu sağlamak için muhtemelen bayraklar ve ayarlar vardır) 2. okuma / yazma bloklar şifreleme bloklarının kenarlarıyla örtüşmez (kontrol edilebilir, bazı matematik içerebilir) 3. şifre çözme için gerekli olan önemli başlık bilgilerinin tamamlanmasından önce üzerine yazılmaz (temel şifreleme formatını kontrol edin, belki baştan sona işleyin). Bunun mümkün olduğunu, ancak daha dikkatli bir kurulum ve analiz gerektireceğini düşünüyorum.
Aşağıda işe yarayan benim çözümüm. Linux uzmanı olmadığımı unutmayın, bu yüzden en iyi çözüm olmayabilir. Zaten daha iyi bir tane bulamadım.
NOT : Ne zaman söylesem, yani
/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition
Canlı bir CD'den önyükleme yapın. Ubuntu 13.10 32bit masaüstü ISO kullandım.
Bölümünüzü bağlayın:
sudo cryptsetup luksOpen /dev/sda5 crypt1
Kaynak verilerinizi hedef bölüme kopyalayın ve dd PID'yi pid değişkenine kaydedin:
sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!
Bu, her ikinci gd işlemine USR1 sinyali ve gd sonuç durumu ile ping işlemi yapacak:
while sudo kill -USR $pid; do sleep 1; done
Eğer yukarıdaki 'yöntem iken'i beğenmezseniz, saati kullanabilirsiniz. Farklı terminal penceresini açın ve PID'yi alın:
pgrep -l '^dd$' | awk '{ print $1 }'
İşlem kimliğinizle değiştirin:
watch kill -USR1 <pid>
Çıktınızı her 2 saniyede bir terminal terminalinde görmelisiniz.
Tamamlandığında, tamamlanmamış olup olmadığını görmek için gizlenmemiş bölümünüzü bağlayabilirsiniz:
sudo mount /dev/sda3 /mnt
Bundan sonra bölümünüzü ayırın:
sudo umount /dev/sda3
Crypt bölümünü serbest bırakın:
sudo cryptsetup luksClose /dev/sda5
Gparted'i çalıştırın. LUKS bölümünüzü silin (hem genişletilmiş hem de mantıksal). / Dev / sda3 cihazınızı yeniden boyutlandırın ve sola hareket ettirin. Takas bölümü oluşturun.
Not: / dev / sda3'ünüzü sola kaydırmak uzun sürebilir. Benim için 120GB'lık bölüm ve SSD sürücüsünde 30 dakika sürdü. 500GB + HDD'niz varsa birkaç saat bekletilir. / Dev / sda3'ünüzü taşımak yerine bölümünüzden önce bir takas oluşturmak isteyebilirsiniz.
Takas bölümünüzde yeni bir takas dosya sistemi oluşturun:
sudo mkswap /dev/sda2
ve bir yerde UUID saklayın.
Kök bölümünüzü UUID alın:
sudo blkid /dev/sda3
Fstab’ı düzenle:
sudo nano /etc/fstab
Bindirme ve tmpfs satırlarını silin veya yorum yapın.
Blkid sonucuyla değiştirilen satır ekleyin:
UUID=<uuid_root> / ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0
Dosyayı kaldır:
rm /etc/crypttab
"Cryptsetup: evms_activate kullanılamaz" gibi hatalardan kaçınmak için initramfs'ınızı güncelleyin:
sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all
Bu benim için işe yaradı, ancak adım adım yukarıda anlatılmasının sizin için işe yaramayabileceği ihtimali var. Update-initramfs metodunu çözmeden önce çekirdeği birkaç kez tekrar yüklüyorum da grubumu değiştiriyordum. Ancak bu sizin için bir durum olmamalıdır. Talimatları verilerinizi silebilir yukarıda, bu yüzden dikkatli ve marka olmak unutmayın YEDEK , ÖNCE o geçmeden.
Sadece çekirdek sıkıntınız varsa (chrooted ve / boot monte edilmiş):
uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic
Tabii ki, linux-image-3.XY-ZZ'yi uname'daki çekirdek tarihinizle değiştirin.
veya GRUB (chroot dışında):
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
Daha fazla detay: https://help.ubuntu.com/community/Boot-Repair
İyi şanslar
/etc/initramfs-tools/conf.d/resume
manüel olarak değiştirmeniz gerektiğine inanıyorum ve dosya sistemi içeriklerini cp -a
veya rsync -a
genel olarak daha hızlı ve SSD'ler için daha güvenli olacak şekilde kopyalamanızı tavsiye ederim .
dd
Kopyalama SSD gereksiz yazma neden olan tüm bölüm, boş olmalıdır hatta blokları, (ve bazı hatta neredeyse tüm hücrelere performans yazma zarar). Birkaç yıl önce ben ve bazı başkaları da dd
TRIM ile (EXT4 atma seçeneği) kopyalamanın ve etkinleştirmenin TRIM'in boş olduğunu düşündüğü blokları silmesine ve birkaç saat sonra kırık bir kurulumda kalmasına neden olacağını buldum .
Şifrelemeyi saklamak, ancak parola komut istemini kapatmak için Tamam olması durumunda, çok daha basit bir yaklaşım "parola" gibi önemsiz bir parola ayarlamak ve ardından bu önemsiz parolayı initramfs'taki açık metne kaydetmektir. LUKS şifreleme şifresini devre dışı bırakın .
Temel olarak, initramfs'a "keyscript" ekleyen bir kanca betiği ekleyin. Genellikle bu komut dosyaları, şifreyi Bletooth aracılığıyla, bir USB çubuğundan vb. Kullanarak almak için kullanılır, ancak bu durumda, yalnızca önemsiz şifreyi yazdırmasını sağlayın.