GNU/Linux >> Belajar Linux >  >> Linux

Apa yang dapat menyebabkan 'kesalahan akal' saat menyetel enkripsi LTO?

Solusi 1:

Seperti biasa, pemecahan masalah selama berjam-jam tidak berarti apa-apa, tetapi memposting pertanyaan di forum publik akan langsung mengungkapkan masalahnya.

Ada bug di stenc 1.0.7 yang menyebabkan crash jika Anda menggunakan --detail pada kaset kosong. Saya telah mencoba menghubungi penulis dengan perbaikan tetapi tidak dapat menghubunginya.

Tampaknya crash ini membuat drive dalam keadaan tidak konsisten, di mana ia menolak untuk menerima kunci lebih lanjut. Memperbaiki bug dan kemudian menjalankan stenc --detail tanpa crash tampaknya telah memperbaiki masalah. Sekarang saya dapat menyetel kunci berapa pun dan tidak ada masalah lebih lanjut.

Jika ada orang lain yang mengalami masalah yang sama, di stenc-1.0.7/sec/scsiencrypt.cpp pada baris 176 tertulis delete status; . Anda perlu menambahkan baris baru tepat di bawah ini yang bertuliskan status=NULL; . Ini memperbaiki kesalahan bebas ganda yang menyebabkan kerusakan.

--- a/src/scsiencrypt.cpp
+++ b/src/scsiencrypt.cpp
@@ -174,6 +174,7 @@ SSP_NBES* SSPGetNBES(string tapeDevice,bool retry){
            if(status->nbes.encryptionStatus!=0x01)break;
            if(moves>=MAX_TAPE_READ_BLOCKS)break;
            delete status;
+           status=NULL; //double free bug fix
            if(!moveTape(tapeDevice,1,true))break;
            moves++;
            status=SSPGetNBES(tapeDevice,false);

Solusi 2:

Dimulai dengan CentOS 7.3 atau 7.4 (7.2 berfungsi), saya menemukan Kesalahan Permintaan Ilegal lainnya yang muncul secara acak saat mencoba mengaktifkan enkripsi.

Saya menemukan bahwa beberapa bit cadangan dalam perintah SCSI tidak diinisialisasi dengan benar. Saat mengatur #define DEBUGSCSI orang dapat melihat bahwa bit ini bervariasi pada setiap panggilan.

Tambahkan memset() berikut di scsiencrypt.cpp untuk memperbaikinya:

SCSIWriteEncryptOptions():

...

  SSP_KAD kad;

=> memset(&kad,0,sizeof(kad));

  kad.type=0x00;

Solusi 3:

Saya menghabiskan satu hari untuk men-debug mengapa drive Quantum LTO7 HH kami terus memberikan kesalahan Sense saat kami mengonfigurasi enkripsi di dalamnya menggunakan stenc yang telah ditambal sepenuhnya 1.0.7, terlepas dari opsi yang digunakan saat mengunggahnya.

Akhirnya, kami menemukan bahwa dalam kasus kami, itu karena kami menyetel Key Descriptor saat membuat kunci – membuat kunci menggunakan stenc -g 256 -k test.key -kd TESTKEY lalu mengunggahnya menggunakan stenc -f /dev/nst0 -e on -k test.key -a 1 akan gagal, sedangkan stenc -g 256 -k test.key kemudian mengunggah menggunakan perintah yang sama akan berhasil. Semoga ini bisa membantu seseorang!


Linux
  1. Memecahkan masalah Kesalahan "Sertifikat TLS yang Tidak Dapat Diterima" di Linux

  2. Linux – Apa yang Harus Dilakukan Saat Desktop Linux Membeku?

  3. Apa itu 500 Internal Server Error

  1. Apa :-!! dalam kode C?

  2. Apa yang harus dilakukan ketika Ctrl + C tidak dapat menghentikan proses?

  3. Apa yang dapat menyebabkan karakter aneh di Vim?

  1. Apa yang menyebabkan perintah file di Linux melaporkan file teks sebagai data biner?

  2. kesalahan startx saat menyiapkan server X di archlinux

  3. Apa yang dapat menyebabkan sinyal 11?