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