㈠ linux下文件加密有哪些方式,能通過系統調用函數把加密的文件內容讀出來或修改嗎
openssl吧〜〜〜
㈡ 如何在Linux系統上加密文件和目錄
加密類型
我們主要有兩種加密文件和目錄的方法。一種是文件系統級別的加密,在這種加密中,你可以選擇性地加密某些文件或者目錄(如,/home/alice)。對我而言,這是個十分不錯的方法,你不需要為了啟用或者測試加密而把所有一切重新安裝一遍。然而,文件系統級別的加密也有一些缺點。例如,許多現代應用程序會緩存(部分)文件你硬碟中未加密的部分中,比如交換分區、/tmp和/var文件夾,而這會導致隱私泄漏。
另外一種方式,就是所謂的全盤加密,這意味著整個磁碟都會被加密(可能除了主引導記錄外)。全盤加密工作在物理磁碟級別,寫入到磁碟的每個比特都會被加密,而從磁碟中讀取的任何東西都會在運行中解密。這會阻止任何潛在的對未加密數據的未經授權的訪問,並且確保整個文件系統中的所有東西都被加密,包括交換分區或任何臨時緩存數據。
可用的加密工具
在Linux中要實施加密,有幾個可供選擇的工具。在本教程中,我打算介紹其中一個:eCryptFS,一個用戶空間文件系統加密工具。下面提供了一個Linux上可用的加密工具摘要供您參考。
文件系統級別加密
EncFS:嘗試加密的最簡單方式之一。EncFS工作在基於FUSE的偽文件系統上,所以你只需要創建一個加密文件夾並將它掛載到某個文件夾就可以工作了。
eCryptFS:一個POSIX兼容的加密文件系統,eCryptFS工作方式和EncFS相同,所以你必須掛載它。
磁碟級別加密
Loop-AES:最古老的磁碟加密方法。它真的很快,並且適用於舊系統(如,2.0內核分支)。
DMCrypt:最常見的磁碟加密方案,支持現代Linux內核。
CipherShed:已停止的TrueCrypt磁碟加密程序的一個開源分支。
eCryptFS基礎
eCrypFS是一個基於FUSE的用戶空間加密文件系統,在Linux內核2.6.19及更高版本中可用(作為encryptfs模塊)。eCryptFS加密的偽文件系統是掛載到當前文件系統頂部的。它可以很好地工作在EXT文件系統家族和其它文件系統如JFS、XFS、ReiserFS、Btrfs,甚至是NFS/CIFS共享文件系統上。Ubuntu使用eCryptFS作為加密其家目錄的默認方法,ChromeOS也是。在eCryptFS底層,默認使用的是AES演算法,但是它也支持其它演算法,如blowfish、des3、cast5、cast6。如果你是通過手工創建eCryptFS設置,你可以選擇其中一種演算法。
就像我所的,Ubuntu讓我們在安裝過程中選擇是否加密/home目錄。好吧,這是使用eCryptFS的最簡單的一種方法。
Ubuntu提供了一個用戶友好的工具集,通過eCryptFS可以讓我們的生活更輕松,但是在Ubuntu安裝過程中啟用eCryptFS只創建了一個指定的預配置的設置。所以,如果默認的設置不適合你的需求,你需要進行手工設置。在本教程中,我將介紹如何在主流Linux發行版上手工設置eCryptFS。
eCryptFS的安裝
Debian,Ubuntu或其衍生版:
代碼如下:
$ sudo apt-get install ecryptfs-utils
注意,如果你在Ubuntu安裝過程中選擇加密家目錄,eCryptFS應該已經安裝了。
CentOS, RHEL or Fedora:
代碼如下:
# yum install ecryptfs-utils
Arch Linux:
代碼如下:
$ sudo pacman -S ecryptfs-utils
在安裝完包後,載入eCryptFS內核模塊當然會是一個很好的實踐:
代碼如下:
$ sudo modprobe ecryptfs
配置eCryptFS
現在,讓我們開始加密一些目錄,運行eCryptFS配置工具:
代碼如下:
$ ecryptfs-setup-private
它會要求你輸入登錄密碼和掛載密碼。登錄密碼和你常規登錄的密碼一樣,而掛載密碼用於派生一個文件加密主密鑰。這里留空可以生成一個(復雜的),這樣會更安全。登出然後重新登錄。
你會注意到,eCryptFS默認在你的家目錄中創建了兩個目錄:Private和.Private。~/.Private目錄包含有加密的數據,而你可以在~/Private目錄中訪問到相應的解密後的數據。在你登錄時,~/.Private目錄會自動解密並映射到~/Private目錄,因此你可以訪問它。當你登出時,~/Private目錄會自動卸載,而~/Private目錄中的內容會加密回到~/.Private目錄。
eCryptFS怎麼會知道你擁有~/.Private目錄,並自動將其解密到~/Private目錄而不需要我們輸入密碼呢?這就是eCryptFS的PAM模塊搗的鬼,它為我們提供了這項便利服務。
如果你不想讓~/Private目錄在登錄時自動掛載,只需要在運行ecryptfs-setup-private工具時添加「--noautomount」選項。同樣,如果你不想要~/Private目錄在登出後自動卸載,也可以自動「--noautoumount」選項。但是,那樣後,你需要自己手工掛載或卸載~/Private目錄:
[/code]$ ecryptfs-mount-private ~/.Private ~/Private
$ ecryptfs-umount-private ~/Private
你可以來驗證一下.Private文件夾是否被掛載,運行:
代碼如下:
$ mount
現在,我們可以開始把任何敏感文件放進~/Private文件夾里頭了,它們會在我們登出時自動被加密並鎖在~/.Private文件內。
所有這一切看起來是那麼得神奇。這主要是ecryptfs-setup-private工具讓一切設置變得簡單。如果你想要深究一點,對eCryptFS指定的方面進行設置,那麼請轉到官方文檔。
結尾
綜上所述,如果你十分關注你的隱私,最好是將基於eCryptFS文件系統級別的加密和全盤加密相結合。切記,只進行文件加密並不能保證你的隱私不受侵犯。
㈢ Linux使用密碼保護文件夾或目錄
假設您的Linux主目錄中有一個文件夾,您可以在其中存儲您不希望任何人在沒有密碼的情況下訪問的安全文檔文件。這樣,即使有人設法佔用您的計算機並訪問您的主目錄,您的私人文件仍然有另一道防線。
Cryptkeeper是一個管理加密文件夾的Linux系統托盤小程序。在它下面,EncFS是一個基於FUSE的加密文件系統,它處理透明的加密/解密。
在本教程中,我將介紹如何使用Cryptkeeper密碼保護Linux上的文件夾。
在Fedora中安裝Cryptkeeper
您可以從Fedora的基礎存儲庫安裝Cryptkeeper:
$ sudo yum install cryptkeeper
安裝完成後,轉到「應用程序」 - >「系統工具」 - >「Cryptkeeper」啟動Cryptkeeper。
Cryptkeeper指示燈將顯示在右上角的桌面面板中。單擊指示器,然後選擇「新加密文件夾」以創建新的加密文件夾。
選擇要保護密碼的文件夾的名稱及其位置。
輸入新加密文件夾的密碼。單擊「轉發」按鈕後,它將創建一個新的加密文件夾。
要訪問加密文件夾,您需要先打開它。要打開現有的加密文件夾,請單擊Cryptkeeper指示器,然後單擊文件夾名稱。系統將提示您輸入密碼。文件夾打開後,您可以自由訪問其中的內容。要再次使用密碼保護文件夾,只需單擊Cryptkeeper指示器中的文件夾名稱即可關閉該文件夾。
如果要將Cryptkeeper指示器設置為在桌面上自動啟動,請選擇「設置」下的「會話和啟動」菜單。
在「Application Autostart」選項卡下添加Cryptkeeper。
在Ubuntu,Debian或Linux Mint中安裝Cryptkeeper
要在基於Debian的Linux上安裝Cryptkeeper,請使用apt-get命令。
$ sudo apt-get install cryptkeeper
在Ubuntu上,您可以通過Unity
Dash啟動Cryptkeeper。在Debian或Linux Mint上,轉到「Applications」 - >「System
Tools」 - >「Cryptkeeper」以啟動Cryptkeeper。
注意:在最新版本的Ubuntu桌面(例如,12.04,12.10和13.04)上,由於系統托盤的新白名單消除策略,Cryptkeeper指示符不會顯示在Unity的頂部面板通知區域中。要解決此問題,請首先獲取「systray-whitelist」值,然後將「Cryptkeeper」附加到現有白名單,如下所示。
$ gsettings get com.canonical.Unity.Panelsystray-whitelist
['JavaEmbeddedFrame','Wine','Update-notifier']
$ gsettings set com.canonical.Unity.Panel
systray-whitelist「['JavaEmbeddedFrame','Wine','Update-notifier','Cryptkeeper']」
如果您希望Cryptkeeper指示燈永久顯示在您的Ubuntu桌面上,請通過Dash啟動「啟動應用程序」菜單,並將Cryptkeeper添加為啟動程序。
轉自 嘉為教育-rhce認證_rhce培訓_linux培訓_linux認證_linux考證
㈣ linux 系統配置文件里的用戶名和密碼怎麼加密
/etc/passwd、/etc/shadow、二個配置文件用於系統帳號管理,都是文本文件,可用vim等文本編輯器打開。/etc/passwd用於存放用戶帳號信息,/etc/shadow 用於存放每個用戶加密的密碼。
/etc/passwd文件用於存放用戶賬戶信息,每行代表一個賬戶,每個賬戶的各項信息用冒號分割,例如:
root:x:0:0:root:/root:/bin/bash
username:password:uid:gid:allname:homedir:shell
1、用戶名。
2、密碼,「x」代表密碼存儲在/etc/shadow中;當該值為其他任意非「x」值時,可以通過root用戶切換(不需要密碼),但是都無法通過非root用戶切換到相應用戶,因為無法獲得起密碼了。
3、uid,用戶id,0~499保留給系統使用,500~65535保留給用戶使用。
4、gid,主用戶組id,0~499保留給系統使用,500~65535保留給用戶使用。用戶組id是在/etc/group中分配給特定用戶組的。
5、allname,用戶名全稱,沒有特別的用處。
6、homedir,根目錄。
7、默認的腳本執行程序,如/bin/bash。
/etc/shadow用於存放各個用戶加密後的密碼,每行代表一個用戶,如
root:!:14859:0:99999:7:::
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
1、用戶名。
2、加密後的密碼,當密碼為空時,可以通過root用戶切換(不需要密碼),但是都無法通過非root用戶切換到相應用戶,「!」「*」都只是被視為加密後的普通文本,沒有其他特殊含義。
3、上一次修改的時間,值是從1970年1月1日到現在的日期差。
4、密碼至少經過min_change天才能被再次修改。
5、最多經過max_change天,密碼必須修改一次。
6、當距離max_change還有warm天時,系統會開始警告,要求你在warm天內修改密碼。
7、在過了max_change天之後還沒修改密碼的話,再經過failed_expire天,原密碼就無法登錄了。
8、expiration代表該賬戶的有效期限。
9、reserved,保留位,當前還不知道放什麼好。