Ⅰ 如何修改配置文件
1. 引言
OpenWRT中採用LuCI作為它的Web interface界面框架,採用Lua語言。在本文中將以一個簡單的示例詳細描述如何自定義開發一個界面,對一個配置文件進行操作。
2.Model與Controler
MVC的設計理念是進行LuCI開發的一個關鍵
在LuCI中Controller的文件定義在固件中的/usr/lib/lua/luci/controller目錄中,模版目錄在/usr/lib/lua/luci/view目錄下,而model則是在/usr/lib/lua/luci/model中。而model中有一個特殊的模塊叫做CBI,被稱為LuCI中最酷的功能,該模塊的功能是方便的對一個配置文件進行修改。
3.示例
本文中的頁面建立在LuCI界面的network下,不單獨創建頁面,因此無需寫view,只用些controller和model就可以了。
1)首先創建一個controller
ccontroller/mycbi.lua
mole("LUCI.controller.mycbi", package.seeall)
function index()
entry({"admin", "network", "mycbi_change"}, cbi("mycbi-model/mycbimole"), "Change My Conf", 30).dependent=false
end
解釋一下關鍵代碼:
在index()函數中,使用entry函數來完成每個模塊函數的注冊,官方說明文檔如下:
entry(path, target, title=nil, order=nil)
path is a table that describes the position in the dispatching tree: For example a path of {"foo", "bar", "baz"} would insert your node in foo.bar.baz.
target describes the action that will be taken when a user requests the node. There are several predefined ones of which the 3 most important (call, template, cbi) are described later on on this page
title defines the title that will be visible to the user in the menu (optional)
order is a number with which nodes on the same level will be sorted in the menu (optional)
其中target主要分為三類:call,template和cbi。call用來調用函數,template用來調用已有的htm模版,而CBI模塊則是使用非常頻繁也非常方便的模塊,包含的一系列lua文件構成界面元素的組合,所有cbi模塊中的控制項都需要寫在luci.cbi.Map中,在cbi模塊中定義各種控制項,Luci系統會自動執行大部分處理工作。在cbi.lua文件中封裝了所有的控制項元素,例如復選框,下拉列表等。
2)創建model
#mkdir /usr/lib/lua/luci/model/cbi/mycbi-model
#vim /usr/lib/lua/luci/model/cbi/mycbi-model/mycbimole.lua
m = Map("mycbi", "mycbi conf change interface")
s = m:section(TypedSection, "MySection")
s.addremove = true
s:option(Value, "username", "Name:")
key=s:option(Value, "password", "Password")
key.password=true;
return m
解釋一下關鍵代碼:
3)創建配置文件
#vim /etc/config/mycbi
config 'MySection' 'mycbi'
option 'username' 'youruser'
option 'password' 'yourpass'
4. 測試
進入OpenWRT界面,登陸後就可以點擊「網路」,如果是英文就點擊network,可以看到我們添加的子頁面入口:
點擊後進入頁面如下:
輸入用戶名密碼:root/test,點擊保存,後台查看配置文件已經被更改:
5. 問題記錄
1)首先,配置文件不能有任何後綴,否則頁面載入後是空頁面
2)如果出現500 錯誤,說明lua文件寫的有問題,要麼是路徑錯誤,要麼是語法錯誤,暫時沒找到寫日誌的方法,可以用wireshark抓包看錯誤
Ⅱ 系統重裝之後加密文件夾如何解密
XP系統EFS加密破解的一線希望
如果某個用戶把自己的登錄帳戶刪除,那麼其他用戶將無法訪問其EFS加密文件。更可惡的是,一旦公司里的某個用戶心懷怨氣,惡意加密了本屬於別的用戶的重要文件,將會導致嚴重問題。一般情況下,這些EFS加密文件已經被判了死刑,但是實際上只要滿足以下條件的話,我們還是可以在末日來臨之前打開逃生的天窗:
(1) 必須知道該被刪帳戶的密碼。
(2) 該被刪帳戶的配置文件必須存在。如果使用「本地用戶和組」管理單元刪除帳戶,則配置文件保留的機會很大,如果使用「用戶帳戶」控制面板刪除帳戶,則有一半機會保留配置文件。如果配置文件不幸被刪,則只能祈禱可以藉助Easy Recovery之類的數據恢復工具進行恢復。
可能有些朋友會覺得這兩個條件比較苛刻,此處賣個關子先……
EFS加密原理
大家知道,EFS加密實際上綜合了對稱加密和不對稱加密:
(1) 隨機生成一個文件加密密鑰(叫做FEK),用來加密和解密文件。
(2) 這個FEK會被當前帳戶的公鑰進行加密,加密後的FEK副本保存在文件$EFS屬性的DDF欄位里。
(3) 要想解密文件,首先必須用當前用戶的私鑰去解密FEK,然後用FEK去解密文件。
看到這里,似乎EFS的脈絡已經很清晰,其實不然,這樣還不足於確保EFS的安全性。系統還會對EFS添加兩層保護措施:
(1) Windows會用64位元組的主密鑰(Master Key)對私鑰進行加密,加密後的私鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID
提示 Windows系統里的各種私有密鑰,都用相應的主密鑰進行加密。Windows Vista的BitLocker加密,也用其主密鑰對FVEK(全卷加密密鑰)進行加密。
(2) 為了保護主密鑰,系統會對主密鑰本身進行加密(使用的密鑰由帳戶密碼派生而來),加密後的主密鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Protect\SID
整個EFS加密的密鑰架構如圖1所示。
圖1
提示 EFS密鑰的結構部分,參考自《Windows Internals 4th》的第12章。
回到「任務描述」部分所述的兩個條件,現在我們應該明白原因了:
(1) 必須知道該被刪帳戶的密碼:沒有帳戶密碼,就無法解密主密鑰。因為其加密密鑰是由帳戶密碼派生而來的。
提示 難怪Windows XP和2000不同,管理員重設帳戶密碼,也不能解密EFS文件。
(2) 該被刪帳戶的配置文件必須存在:加密後的私鑰和主密鑰(還包括證書和公鑰),都保存在配置文件里,所以配置文件萬萬不可丟失,否則就會徹底「鬼子不能進村」。重裝系統後,原來的配置文件肯定被刪,這時候當然不可能恢復EFS文件。
可能有用戶會想,只需新建一個同名的用戶帳戶,然後把原來配置文件復制給新帳戶,不就可以解密EFS文件了?原因在於帳戶的SID,因為新建用戶的SID不可能和老帳戶一樣,所以常規方法是不可能奏效的。我們必須另闢蹊徑,讓系統再造一個完全一樣的SID!
恢復步驟
為了方便描述,這里假設被刪帳戶的用戶名為Admin,Windows安裝在C盤。
1.再造SID
注意 本方法取自「聲明」部分提到的那篇文章。
首先確認被刪帳戶的SID,這里可以進入以下文件夾:
C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA
在其下應該有一個以該被刪帳戶的SID為名的文件夾,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID為1004)
現在我們要設法讓新建帳戶同樣具有1004的RID,這樣就能達到目的。
在Windows中,下一個新建帳戶所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項的F鍵值所確定的。F鍵值是二進制類型的數據,在偏移量0048處的四個位元組,定義下一個帳戶的RID。那麼也就是說,只需要修改0048處的四個位元組,就能達到目的(讓新建帳戶獲得1004的RID)
確認好以後,別忘記把Admin帳戶的配置文件轉移到別的地方!
(1) 默認情況下,只有system帳戶才有許可權訪問HKEY_LOCAL_MACHINE\SAM,這里在CMD命令提示符窗口,運行以下命令,以system帳戶身份打開注冊表編輯器:
pexec -i -d -s %windir%\regedit.exe
提示 可以在以下網站下載psexec:
http://www.sysinternals.com/Utilities/PsExec.html
(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項,雙擊打開右側的F鍵值。
(3) 這里要說明一下,Windows是以十六進制、而且以反轉形式保存下一個帳戶的RID。什麼意思呢?也就是說,如果是1004的RID,對應十六進制就是03EC,但是我們必須把它反轉過來變成EC03,再擴展為4個位元組,就是EC 03 00 00。
所以,我們應該把F鍵值的0048偏移量處,把其中四個位元組改為「EC 03 00 00」,如圖2所示。
圖2
(4) 重要:別忘了重啟計算機!
(5) 重啟以後,新建一個同名帳戶Admin,它的SID應該和以前是完全一樣。如果不相信的話,可以藉助GetSID或者PsGetSID等工具測試一下。
2.「破解」EFS
接下來的方法就非常簡單了,用新建的Admin帳戶身份登錄系統,隨便加密一個文件,然後注銷,用管理員帳戶登錄系統,把原來保留的配置文件復制到C:\Documents and Settings\Admin文件夾下。
再用Admin帳戶登錄系統,現在可以解密原來的EFS文件了。
疑難解答
1.如果已經重裝系統,那怎麼辦?
「聲明」部分提到的那篇文章里提到,如果還記得原來帳戶的密碼,並且配置文件沒有被刪除的話,還有希望。這時候可以藉助sysinternals的NEWSID工具把系統的計算機SID重設為原來的值,再用前面描述的方法構造所需的RID,這樣就可以獲得所需的帳戶SID。剩餘步驟完全一樣。
http://www.sysinternals.com/Utilities/NewSid.html
2.有用戶曾經遇到這樣的問題:登錄系統時收到提示說密碼過期,需要重設,重設密碼登錄後發現打開EFS文件。
KB890951提到這個問題。其解釋是因為在修改密碼時,系統還沒有載入配置文件(有點語焉不詳),原文如下:
This problem occurs because the user profile for the current user is not loaded correctly after you change the password.
配置文件和EFS有何相干?看完本文,大家應該知道,EFS的私鑰和主密鑰都是保存在配置文件里的。由於配置文件沒有載入,所以主密鑰的加密版本沒有得到更新(沒有跟上帳戶密碼的變化),導致主密鑰無法正確解密,從而無法解密私鑰和FEK。這就是問題的真正原因。
該KB提供了一個內部補丁,可以解決這個問題。KB890951的鏈接如下:
http://support.microsoft.com/kb/890951
3.有關公鑰的問題
為了容易理解,筆者故意忽略了公鑰。公鑰保存也保存在帳戶的配置文件里:
%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates
在EFS恢復的操作中,必須確保公鑰也要復制到新帳戶的配置文件里。盡管看起來公鑰與EFS解密無關(它負責加密)。
原來,加密文件$EFS屬性的DDF欄位里除了有帳戶SID和加密的FEK副本外,還有公鑰的指紋信息(Public Key Thumbprint)和私鑰GUID信息(私鑰的某種散列值)。
系統在掃描加密文件$EFS屬性中的DDF欄位時,根據用戶配置文件里的公鑰中所包含的公鑰指紋和私鑰GUID信息,當然還有帳戶的SID,來判斷該帳戶是否具有對應的DDF欄位,從而判斷該用戶是否屬於合法的EFS文件擁有者。
所以公鑰也很重要。
當然公鑰是可以「偽造」的(可以偽造出所需的公鑰指紋和私鑰GUID),以欺騙EFS系統,具體方法可以參考國外的那篇原稿,此處不再贅述。
加強EFS的安全
由於EFS把所有的相關密鑰都保存在Windows分區,所以這可能給EFS帶來一定的安全隱患。目前有一些第三方工具號稱可以破解EFS,這些工具首先攻擊SAM配置單元文件,嘗試破解帳戶密碼,從而破解帳戶密碼→主密鑰的加密密鑰→主密鑰→EFS私鑰→FEK的「密鑰鏈」。
Ⅲ 如何給配置文件內容加密
方法一(壓縮文件設置解壓密碼)
右鍵點擊文件夾。然後選擇添加到壓縮文件。
進入到壓縮文件設置頁面之後、在選項卡裡面選擇密碼、然後設置解壓後的密碼。然後在點擊確定。
把原先的文件夾刪除。然後在加壓這個文件的時候就要輸入密碼才能查看了。
方法二(文件夾加密軟體)
1.先安裝一個加密軟體。可以去網路搜索、不過要會選擇哦。。然後下載安裝。注冊一個帳號、這里就不好推薦了
Ⅳ 如何為配置文件加密
一、加密文件或文件夾步驟一:打開Windows資源管理器。步驟二:右鍵單擊要加密的文件或文件夾,然後單擊「屬性」。步驟三:在「常規」選項卡上,單擊「高級」。選中「加密內容以便保護數據」復選框在加密過程中還要注意以下五點:1.要打開「Windows資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows資源管理器」。2.只可以加密NTFS分區卷上的文件和文件夾,FAT分區卷上的文件和文件夾無效。(注意重裝系統時先解密,否則後果嚴重。)3.被壓縮的文件或文件夾也可以加密。如果要加密一個壓縮文件或文件夾,則該文件或文件夾將會被解壓。4.無法加密標記為「系統」屬性的文件,並且位於systemroot目錄結構中的文件也無法加密。5.在加密文件夾時,系統將詢問是否要同時加密它的子文件夾。如果選擇是,那它的子文件夾也會被加密,以後所有添加進文件夾中的文件和子文件夾都將在添加時自動加密。二、解密文件或文件夾步驟一:打開Windows資源管理器。步驟二:右鍵單擊加密文件或文件夾,然後單擊「屬性」。步驟三:在「常規」選項卡上,單擊「高級」。步驟四:清除「加密內容以便保護數據」復選框。同樣,我們在使用解密過程中要注意以下問題:1.要打開「Windows資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows資源管理器」。2.在對文件夾解密時,系統將詢問是否要同時將文件夾內的所有文件和子文件夾解密。如果選擇僅解密文件夾,則在要解密文件夾中的加密文件和子文件夾仍保持加密。但是,在已解密文件夾內創立的新文件和文件夾將不會被自動加密。以上就是使用文件加、解密的方法!
Ⅳ hadoop hue配置文件怎樣設置加密密碼
ue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由貢獻給開源社區,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制台上與Hadoop集群進行交互來分析處理數據,例如操作HDFS上的數據,運行MapRece Job等等。很早以前就聽說過Hue的便利與強大,一直沒能親自嘗試使用,下面先通過官網給出的特性,通過翻譯原文簡單了解一下Hue所支持的功能特性集合:
默認基於輕量級sqlite資料庫管理會話數據,用戶認證和授權,可以自定義為MySQL、Postgresql,以及Oracle
基於文件瀏覽器(File Browser)訪問HDFS
基於Hive編輯器來開發和運行Hive查詢
支持基於Solr進行搜索的應用,並提供可視化的數據視圖,以及儀錶板(Dashboard)
支持基於Impala的應用進行互動式查詢
支持Spark編輯器和儀錶板(Dashboard)
支持Pig編輯器,並能夠提交腳本任務
支持Oozie編輯器,可以通過儀錶板提交和監控Workflow、Coordinator和Bundle
支持HBase瀏覽器,能夠可視化數據、查詢數據、修改HBase表
支持Metastore瀏覽器,可以訪問Hive的元數據,以及HCatalog
支持Job瀏覽器,能夠訪問MapRece Job(MR1/MR2-YARN)
支持Job設計器,能夠創建MapRece/Streaming/Java Job
支持Sqoop 2編輯器和儀錶板(Dashboard)
支持ZooKeeper瀏覽器和編輯器
支持MySql、PostGresql、Sqlite和Oracle資料庫查詢編輯器
1 Hue安裝(參考官網:http://gethue.com/how-to-build-hue-on-ubuntu-14-04-trusty/)
1.1 在git上下載HUE源碼或者在它的官網下載(如果已經安裝git可省略第一步)
sudo apt-get install git
git clone https://github.com/cloudera/hue.git
1.2 需要安裝一些依賴的軟體包
官網給出了一些,如果環境不一樣,靈活調整,GIT上面給出的依賴文件列表:
Ⅵ 如何在Delphi軟體中實現對配置文件的加密解密
直接先加密在放到ini 文件里
要用的時候直接解密出來就可以了
至於用什麼加密演算法看你自己喜歡
推薦用base64演算法不錯 網上到處有的下