tar和zip包加密解密壓縮

 

 

1、概述


嗯,最近有些機密文件無處安放,因爲太機密了,後來確定加密後放到服務器上。研究一番後發現tar和zip命令都能實現,所以在此記錄一下。

壓縮:tar -zcvf - ./packageTest | openssl des3 -salt -k yourpassword | dd of=meiyou.tar.gz 

解壓:dd if=meiyou.tar.gz |openssl des3 -d -k yourpassword |tar zxf -

 

2、加密


在packageTest目錄中有兩個文件,我們的目標是將整個packageTest目錄進行加密壓縮,

[root@localhost jar]# ll ./packageTest
總用量 8
-rw-r--r-- 1 root root 4 7月 7 14:22 a.txt
-rw-r--r-- 1 root root 5 7月 7 14:22 b.txt

2.1、使用tar命令進行加密壓縮

下面命令適用於文件和目錄的壓縮

[root@localhost atest]# tar -zcvf - ./packageTest | openssl des3 -salt -k yourpassword | dd of=meiyou.tar.gz
./packageTest/
./packageTest/a.txt
./packageTest/b.txt
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
記錄了0+1 的讀入
記錄了0+1 的寫出
208字節(208 B)已複製,0.00550074 秒,37.8 kB/秒

上面命令中,-k yourpassword可以沒有,如果沒有的話,在壓縮過程中會讓輸入密碼。

 

2.2、使用tar命令進行解壓


[root@localhost atest]# dd if=meiyou.tar.gz |openssl des3 -d -k yourpassword |tar zxf -
記錄了0+1 的讀入
記錄了0+1 的寫出
208字節(208 B)已複製,0.000187095 秒,1.1 MB/秒
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

上面命令中,-k yourpassword也可以沒有,如果沒有的話,在解壓過程中會讓輸入密碼。

 

[root@mcw01 mcw02]# ls
mcwtest
[root@mcw01 mcw02]# ls mcwtest/
mcw.sh  mcw.txt
[root@mcw01 mcw02]# tar -zcf - mcwtest |openssl des3 -salt -k 123456 |dd of=mcwtest.tar.gz
0+1 records in
0+1 records out
280 bytes (280 B) copied, 0.0445331 s, 6.3 kB/s
[root@mcw01 mcw02]# ls
mcwtest  mcwtest.tar.gz
[root@mcw01 mcw02]# 

 

[root@mcw01 mcw02]# cd xiaoma/
[root@mcw01 xiaoma]# ls
mcwtest.tar.gz
[root@mcw01 xiaoma]# tar xf mcwtest.tar.gz  #直接解壓報錯,可能不是附件。
tar: This does not look like a tar archive

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
[root@mcw01 xiaoma]# dd if=mcwtest.tar.gz |openssl des3 -d -k 123456 |tar zxf -
0+1 records in
0+1 records out
280 bytes (280 B) copied, 6.4454e-05 s, 4.3 MB/s
[root@mcw01 xiaoma]# ls
mcwtest  mcwtest.tar.gz
[root@mcw01 xiaoma]# ls mcwtest  #指定密碼解壓,正常解壓,並且可以看到解壓後的文件都正常
mcw.sh  mcw.txt
[root@mcw01 xiaoma]# cat mcwtest/mcw.sh 
a=1
while [ $a == 1 ]
do
sleep 1
echo '=======>' `date`   >>mcw.txt
nslookup push.xxx.cn >>mcw.txt
done
[root@mcw01 xiaoma]# cat mcwtest/mcw.txt 
mcwtest
[root@mcw01 xiaoma]# 

 

2.3、使用zip命令進行加密壓縮


[root@localhost atest]# zip -re packageTest.zip packageTest
Enter password:
Verify password:
adding: packageTest/ (stored 0%)
adding: packageTest/a.txt (stored 0%)
adding: packageTest/b.txt (stored 0%)

上面加密過程中需要輸入加密密碼,也可以將密碼直接寫在加密命令中:

[root@localhost atest]# zip -rP yourpassword packageTest.zip packageTest
adding: packageTest/ (stored 0%)
adding: packageTest/a.txt (stored 0%)
adding: packageTest/b.txt (stored 0%)

2.4、使用zip命令進行解壓


[root@localhost atest]# unzip packageTest.zip
Archive: packageTest.zip
creating: packageTest/
[packageTest.zip] packageTest/a.txt password:
extracting: packageTest/a.txt
extracting: packageTest/b.txt

上面解壓過程中需要輸入密碼,我們也可以將密碼寫在解壓命令中,這樣就解壓過程中就不用輸入密碼了。

 

3、總結


zip或tar加密壓縮是一種將多個文件或目錄打包成單個文件的方法,並對其進行加密以保護其中的內容不被未經授權的人訪問,其使用場景包括但不限於以下幾個方面:
數據備份:在進行數據備份時,我們通常需要將多個文件或目錄打包成一個壓縮文件,以便於傳輸和存儲。如果這些數據包含敏感信息,那麼我們可以使用zip加密壓縮來保護其安全性。
文件傳輸:在進行文件傳輸時,我們通常需要將多個文件或目錄打包成一個壓縮文件,以便於傳輸和接收。如果這些文件包含敏感信息,那麼我們可以使用zip加密壓縮來確保傳輸過程中不被未經授權的人訪問。
存儲歸檔:在進行存儲歸檔時,我們通常需要將多個文件或目錄打包成一個壓縮文件,以便於存儲和管理。如果這些文件包含敏感信息,那麼我們可以使用zip加密壓縮來確保其安全性和隱私性。
tar命令在Linux中內置的比較廣泛,而zip命令在有些操作系統中是沒有內置安裝的,需要額外安裝。

 


原文鏈接:https://blog.csdn.net/u012288582/article/details/131598110

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章