2011-10-03 85 views
0

有沒有辦法將存儲在系統的安全文件中?
該文件可以被Unix shell腳本讀寫。以讀寫權限存儲加密文件的密碼

我不想使用任何外部庫。 有助於爲本機Unix加密提供一些想法或代碼片段。

謝謝!

+1

爲什麼沒有庫?如果你不想使用任何外部庫,你將不得不自己實現加密,這是容易出錯和繁瑣的工作。你想要一個shell腳本來做到這一點?哪個外殼?或者其他語言的程序? – sinelaw

+0

應該有一些原生的unix加密方法,我正在尋找。 –

回答

3

通過問這個問題,你基本上告訴大家,你的系統的設計是有缺陷的。

如果保存密碼,有兩個用例:

  1. 如果能夠覈對保存一個
  2. 輸入的密碼的東西,使用保存的密碼(即應用程序需要檢索以明文形式)

對於情況1,只需保存一個鹽漬散列。這是安全的,即使有人可以訪問哈希,他也無法用它做很多事情。使用標準的UNIX文件系統權限來保護它已經足夠了 - chmod 600和其他用戶(除root以外)都可以訪問該文件。

對於情況2加密它沒有多大意義。無論如何,您的應用程序需要能夠解密它,這樣用戶就可以在文件中看到錯誤的安全感(如果您的應用程序可以解密,每個人都可以)。使用文件系統權限通常足夠安全。
現在你可以說,甚至根目錄也不應該能夠訪問密碼 - 一個多用戶系統上的有效參數。然而,無論如何,root可能會修改/替換你的程序 - 所以這又會是一種錯誤的安全感。無論如何,在這種情況下,您可以使用第二個密碼進行加密,每次密碼要被讀取或寫入時,用戶需要輸入第二個密碼。然後你會看到類似於密碼管理器的瀏覽器所存儲的密碼被主密碼保護的地方。