2015年6月11日 星期四

0605linux

資訊安全 (Information Security INFOSEC)

保護資訊之機密性、完整性與可用性;得增加諸如鑑別性、可歸責性、不可否認性與可靠性。
1. 機密性 (Confidentiality)
  資料不得被未經授權之個人、實體或程序所取得或揭露的特性。
2. 完整性(Integrity)
  對資產之精確與完整安全保證的特性。
  (i) 可歸責性 (Accountability):確保實體之行為可唯一追溯到該實體的特性。
  (ii) 鑑別性 (Authenticity):確保一主體或資源之識別就是其所聲明者的特性。
             鑑別性適用於如使用者、程序、系統與資訊等實體。
  (iii) 不可否認性 (Non-repudiation):對一已發生之行動或事件的證明,使該行動或事件往後不能被否認的能力。
3. 可用性(Availability)
  已授權實體在需要時可存取與使用之特性。
4. 可靠性(Reliability)
  始終如一預期之行為與結果的特性。


維護接駁資訊的權利

何謂公開的標準?


流行未必等於標準。 在上一節當中, 我們看到了最佳的反例 -- MS Word 所產生的 .doc 檔, 有廣大的使用族群, 但軟體授權聲明上卻清楚寫著客戶不得對它進行逆向工程。 讀寫相容的檔案格式都需要獲得特定公司的授權, 這樣的檔案格式如果成為業界甚或國家的標準, 豈不是以公權力圖利特定廠商?

免費未必就是公開。 問題的癥結也不在於軟硬體的價格 (確實有些公司 想以英文字 "free" 的雙重意義混淆消費者視聽)。 Digital Convergence 的 :CueCat 掃描器, 不僅所附的軟體是免費的, 連硬體本身都是免費的, 但是當它的 HPS 被破解而公佈在網頁上時, 隨即威脅要控告程式設計師。 免費而封閉的軟硬體, 就像包了糖衣的毒品, 它的運作方式至為明顯: 先吸引消費者上癮, 再加以宰割。

究竟什麼才是公開的標準呢? 從微軟內部流出的萬聖節文件當中可以得到一點啟示。 雖然文件中主要的假想敵為 Linux 及其他開放原始碼軟體, 但這份文件的作者對微軟管理階層所作的部份具體建議, 其實是微軟一直使用的「阻止公平競爭」手段。 "[如何阻撓開放原始碼軟體] 將通訊協定「去商業化」(de-commoditizing protocols): 將這些商業化, 簡潔的通訊協定加以擴充, 甚至發展 (屬於我們自己的) 通訊協定, 我們便能夠阻止開放原始碼軟體進入市場" [14] "商業化的通訊協定", 指的就是公開, 不為任何公司所獨有, 任何廠商 (或自由軟體研發者) 可以發展相容產品上市出售, 這樣的通訊協定。 這段文字, 翻譯成白話文就是: 讓我們來扭曲既有的公開通訊協定, 製造莫須有的不相容, 這樣就可以將消費者接駁資訊的管道控制在我們手中, 阻止自由軟體 (及其他廠商生產的相容產品) 來與我們競爭。 竄改 kerberos 通訊協定就是一個具體的例子。

這些微軟企圖加以破壞的通訊協定及檔案格式, 大部份是經由網路上大家公開討論的方式來制定的。 一旦有了相當的共識便有人撰寫技術性的規格文件, 稱為 RFC (Request For Comments) [15] 如果沒有意外, 就會成為所有廠商以及獨立軟體研發者共同的標準。 我們每天瀏覽網頁, 收發信件, 下載檔案時所使用的通訊協定 (http, smtp, ftp) 都是這樣制定的, 所以不同作業系統上的不同應用軟體才能夠彼此交換資訊。 W3C [16] 及被萬聖節文件暗示為眼中釘的 IETF [17] 等重要的非營利機構所推薦的標準, 有許多來自 RFC。 這些機構也另外有他們自己訂定標準的其他機制。 不論是以何種機制所訂定的標準, 描述該介面的支術文件必須可以自由複製散佈, 必須允許任何廠商或個人撰寫/製作支援該介面的軟硬體, 這才能夠讓大家自由溝通, 公平競爭, 這才是能夠保障消費者接駁資訊權利的公開標準 [18]。

封閉介面 / 封閉軟體 (鴉片軟體) / 開放軟體 / 開放原始碼軟體


相對於公開標準介面 (以下簡稱開放介面 open interface) 的是 封閉介面 (closed interface) 例如微軟的 .doc 檔案格式。 原本開放的介面, 也有可能因為受到竄改並被特定廠商施以智財保護, 而使竄改版成為封閉介面, 例如微軟版的 keroers 通訊協定。 原本不屬於任何人所擁有的開放介面, 也可能因為廠商使用法律手段, 而成為封閉的介面。 GUI 就差點成為 Apple 專屬的權利; 而「一指購物」 [3] 不幸已成為 Amazon 的專利。

[軟體分類圖]強迫或引誘使用者採用封閉介面的軟體, 稱為封閉軟體 (closed software), 封閉軟體可能也支援部份開放介面, 但是或者因為支援不力 (例如 MS Word 所產生的純文字檔及 html檔) 或者因為刻意製造的微小差異 (例如 MS 版的 java) 而造成「開放介面不方便」或「開放介面不敷使用」的假象, 迫使消費者選用它所極力推銷的封閉介面。 使用者一旦使用了封閉軟體, 將來即使市場上出現了性質相同, 但功能更好的軟體, 也很可能被迫繼續使用原來的封閉軟體 -- 因為既有的檔案無法與其他軟體交換。 這種效果像吸食毒品一樣, 明知它不好, 卻無法戒掉, 所以筆者也戲稱它為 鴉片軟體。 [19]

與鴉片軟體相反的, 就是 開放軟體. 不論是臺灣的 「開放系統協會」 [20] 或是國際性的 「The Open Group」 [21] 所強調的 "開放的網路交換標準技術" 或是 "無界限的資訊流通" (Boundaryless Information Flow) 與本文所說的 "軟體可以拆成元件; 資訊需要自由接駁" 意思都是相同的. 這些機構的贊助者包含許多國內外的大小廠商, 強調的是軟體資訊的可交換性 interoperability.

有一個容易被與 開放軟體 混為一談的名詞是 開放原始碼軟體 (open source software)[22] 或稱為自由軟體 (free/libre software) [23] 開放原始碼軟體強調的是程式原始碼必須公開, 而且任何人都有權利修改原始碼並將原始版本或改進過的版本自由散佈. 開放原始碼軟體連原始碼都公開了, 它所支援的各種介面 (檔案格式/通訊協定/...) 當然也都是開放的. 換句話說, 開放原始碼軟體必然是開放軟體. 但是 開放軟體不等於開放原始碼軟體. 例如 Sun 的 StarOffice 所存的檔案格式是具有公開 DTD 的 XML [24], 所以它是開放軟體. 但是 StarOffice 是按套數賣錢, 原始碼並未公開的 封閉原始碼軟體/版權私有軟體 (proprietary software) -- 它並不是開放原始碼軟體. Sun 所釋放出來的版本 OpenOffice 才是開放原始碼軟體. 再如各種版權私有的 unix (proprietary unices) 都是封閉原始碼軟體, 但若能真正支援開放的 POSIX 標準, 亦可算是 封閉原始碼的開放軟體: 使用者雖然無法取得其程式原始碼並自由運用, 但至少可以將它所產生的檔案與其他軟體交換使用; 出售 "封閉原始碼的開放軟體" 的軟體公司, 必須誠實地靠產品的功能與品質取勝, 因為將來有性質相同且功能更好的軟體出現時, 消費者很容易就可以改用其他軟體i。

自由光譜圖簡單地摘要, 單純以自由程度畫出一條光譜, 斜線部分是最不自由, 危害消費者權益甚巨的鴉片軟體, 就像是使用專屬接頭的電話機; 藍色部分是最自由, 有許多額外優點的開放原始碼軟體 (其實也幾乎等於自由軟體), 就像是連內部電路都公開的透明電話機; 而光譜中段則是封閉原始碼的開放軟體, 就像是電路不公開, 但至少採用公開接頭的電話機。 例如剛才提到的 StarOffice 及 proprietary unices 大致可歸入光譜中段。 所以說, 封閉原始碼軟體未必都是剝奪消費者接駁資訊權利的封閉軟體 (鴉片軟體); 或者說: 開放軟體未必都是允許使用者自由拷貝修改的開放原始碼軟體。

摘自http://user.frdm.info/ckhung/a/c010.php

11個 LibreOffice 好過 Apache OpenOffice 的因素

更精簡的程式碼
LibreOffice 一直在持續的精簡過去 OpenOffice.org 經年累月所產生的程式碼,目前原始碼行數有 720 萬行,而 Apache OpenOffice 則有 1120 萬行。
較好的 MS Office 格式支援能力
如果您需要與原有的 MS Office 交換 OOXML 檔案,可能考慮要儲存成 .docx 這樣的格式,LibreOffice 和 Apache OpenOffice 都有能力開啟 .docx、.xlsx、.pptx 等格式,但只有 LibreOffice 可以直接儲存成此類較新式的格式。
重新設計的視窗樣式
Apache OpenOffice 保存了原有的視窗樣式,至今沒有太大的改變,而 LibreOffice 雖也保留了原有的樣式,但是將部份的分割視窗設定為可縮放至角落,讓整個編輯的畫面更接近列印出來的效果。
可以格式化的註解內容
Apache OpenOffice 的註解功能只有純文字格式,而 LibreOffice 則可以做出一些樣式變更的效果。
重新修訂後的樣版對話視窗
LibreOffice 修訂了樣版對話視窗,讓使用者更好取用樣版的功能。
字數字元的統計視窗
在 LibreOffice,字數和字元的統計是直接顯示在 footer 狀態列中,而 Apache OpenOffice 還得另外呼叫才看的見。
類似於瀏覽器的搜尋功能
在 Apache OpenOffice,搜尋與取代的功能需要另外呼叫視窗執行,但是在 LibreOffice 中,這個功能預設是嵌入主畫面中,就像瀏覽器的尋找功能一樣,較為直觀方便。
進階功能的設定模式
LibreOffice 可以透過工具列上的「工具」->「選項」->「LibreOffice」->「進階」->「專家設定」調整進階功能是否要顯示於選單而不是預設就顯示。
改進表頭/表尾的編輯工具
LibreOffice 新增了表頭/表尾的編輯工具,可以快速修改相關的格式與效果,並套用於整份文件中。
題名頁功能
LibreOffice 新加入了「題名頁」功能,可以快速的在整份文件中任一位置插入不同格式的頁面,過去要達到此一功能需要好幾個步驟才能達成,如今在 LibreOffice 可以很快就做到。
內嵌字型功能
LibreOffice 可以在文件內插入字型,這對於交換檔案有很大的助益,可以避免文件在不同電腦上因缺少字型所造成的排版錯誤問題。
(http://blog.ossii.com.tw/?p=387#)

處理目錄指令
cd:變換目錄
pwd:顯示目前的目錄
mkdir:建立一個新的目錄
rmdir:刪除一個空的目錄
cp (複製檔案或目錄)
rm (移除檔案或目錄)
mv (移動檔案與目錄,或更名)
http://linux.vbird.org/linux_basic/0220filemanager.php
什麼是 Shell scripts
什麼是 shell script (程式化腳本) 呢?就字面上的意義,我們將他分為兩部份。 在『 shell 』部分,我們在十一章的 BASH 當中已經提過了,那是一個文字介面底下讓我們與系統溝通的一個工具介面。那麼『 script 』是啥? 字面上的意義, script 是『腳本、劇本』的意思。整句話是說, shell script 是針對 shell 所寫的『劇本!』
什麼東西啊?其實, shell script 是利用 shell 的功能所寫的一個『程式 (program)』,這個程式是使用純文字檔,將一些 shell 的語法與指令(含外部指令)寫在裡面, 搭配正規表示法、管線命令與資料流重導向等功能,以達到我們所想要的處理目的。
所以,簡單的說, shell script 就像是早期 DOS 年代的批次檔 (.bat) ,最簡單的功能就是將許多指令彙整寫在一起, 讓使用者很輕易的就能夠 one touch 的方法去處理複雜的動作 (執行一個檔案 "shell script" ,就能夠一次執行多個指令)。 而且 shell script 更提供陣列、迴圈、條件與邏輯判斷等重要功能,讓使用者也可以直接以 shell 來撰寫程式,而不必使用類似 C 程式語言等傳統程式撰寫的語法呢!
這麼說你可以瞭解了嗎?是的! shell script 可以簡單的被看成是批次檔, 也可以被說成是一個程式語言,且這個程式語言由於都是利用 shell 與相關工具指令, 所以不需要編譯即可執行,且擁有不錯的除錯 (debug) 工具,所以,他可以幫助系統管理員快速的管理好主機。
http://linux.vbird.org/linux_basic/0340bashshell-scripts.php