簡體   English   中英

Linux中的文件鎖定

[英]File Locking in Linux

第一個問題:

用戶可以鎖定Linux / Unix中的文件以進行讀寫嗎?

第二個問題:

用戶可以將鎖定的文件刻錄到任何光學介質上嗎? 之后,它將與任何操作系統相對應嗎?

第三個問題:

如果文件被鎖定以進行讀取或寫入,並且已刻錄到任何光學介質上,則用戶可以嘗試撕裂該文件嗎? 如果是這樣,那么以后,任何操作系統內核都可以創建一條錯誤消息來拒絕除root用戶以外的任何用戶執行該任務嗎?

如果禁止讀取文件,則用戶無法復制,打開或讀取文件。 如果禁止寫入文件,則用戶可以在桌面中移動該文件,但可能不會將其刻錄到任何光學介質上。

還有一件事,沒有cp權限。 我剛剛才發現。

因為我精通C / C ++編程,所以如果有任何操作系統內核不支持我要說的內容,我可能會用C / C ++創建一個庫。 cC之后,如果可能,請使其成為庫文件並將其包含在C / C ++庫中。

為了執行該任務,我必須使所有變量都聲明為靜態數據類型,以便可以在其操作系統內核對其進行響應時將其保留。

那是個主意嗎?

另一個想法是實現不可復制的庫,該庫僅與不是免費軟件或共享軟件的Embarcadero C / C ++編譯器兼容。 用戶必須從其網站上在線購買。

我可能會誤會,因為該主題與C / C ++版本11有關。也許微軟會在2013年更新其Visual Studio,並在以后的幾年中繼續這樣做。

約翰·DB

您在此處總體問題的答案是“否”。 您可以在光學介質上獲得POSIX權限,但是,一旦開始分發可移動介質,有效的數據安全性就幾乎消失了。

光學媒體有兩個主要的文件系統:

  • ISO 9660 ,舊的CD格式。

    此格式的原始版本完全不支持權限。 訪問控制是到內核,它決定哪一個權限集分配到光盤上的所有文件集體

    Rock Ridge擴展添加了與POSIX兼容的權限方案,但這存在很多問題:

    1. 您可以在Linux中提供norock mount選項 ,使其忽略權限。

      請記住,這是可移動的光學介質。 如果您將光盤發送給您無法控制的人,或者最終用戶可以物理訪問光盤驅動器,那么他們將可以擊敗您的許可方案。

    2. 權限基於用戶和組ID,而不是名稱,因此,如果希望目標系統上的用戶和組具有某些訪問權限,則將出現舊的同步用戶表和組表的問題。

      關於在不受單個管理員或組織管理的系統上唯一可以依靠的事情是,如果將文件標識為由用戶ID 0和組ID 0擁有,則該文件如果設置為440或,則將對root只讀。 400

    3. 非Linux操作系統將以不同的方式解釋權限。

      在我去年的測試中 ,Windows完全忽略了光盤權限。

      只需將光盤插入計算機並使其自動掛載,默認情況下,OS X也會忽略光盤權限。 我想您可以通過手動安裝光盤來使操作系統服從許可,但這根本沒有安全性。

      這在上面的問題#1中起作用,因為這意味着取消權限計划就像將光盤放入Mac或Windows盒中一樣簡單。

    4. 您詢問了光盤翻錄的問題,此時,無論使用什么操作系統, 所有權限均會消失。 翻錄的假定是您具有對光盤的完全讀取訪問權限,這意味着您具有對數據的完全訪問權限。 從那時起,您就可以對數據進行任何操作。

  • UDF ,是CD-RW,DVD和BluRay媒體的ISO 9660的有效替代品。

    UDF從一開始就具有POSIX文件權限,因此從某種意義上講,它就像具有Rock Ridge擴展名的ISO 9660一樣。 不幸的是,Linux的實現不再安全,因為您可以使用uid=ignore,gid=ignore裝入光盤,並且其行為就像使用ISO 9660光盤的norock一樣。

    以上所有其他內容也適用於UDF。

最重要的是,您試圖忽略數據安全性的關鍵原則:物理訪問是完全訪問。 使人們遠離系統的不可避免的前提是限制他們對系統的物理訪問。 這意味着您必須讓他們來獲取文件,而不是將它們運送到光盤中,並希望它們的OS內核以該光盤上的1和0來滿足您的要求。

您可以通過運行以下命令鎖定任何用戶使用的文件:

sudo chmod 000 <file>

這意味着所有者,組和其他人無法讀取,寫入或執行文件。 請注意,root用戶始終可以將文件權限設置回其他權限,因此在運行該命令后文件不會永遠被鎖定。

通常,由於無法讀取文件,因此將無法刻錄文件,即使可以,也無法將其寫入CD后正確保留其文件權限,因為該文件系統(CDFS)不支持他們。

您可以在此處了解有關文件權限的更多信息。

如果您擁有vim軟件包,則可以加密文件

:set鍵=您的鍵

這樣,下次您打開文件時,它將要求輸入密鑰

簡潔版本:

1)是的

2)沒有

3)參見問題2的長答案。

較長版本:

當然。 用戶擁有文件的所有權。 這些當然可以修改。 文件具有三種不同的讀取,寫入和執行權限“類型”。 每個文件將這些屬性設置為或未設置為三個不同的組。 用戶,組和所有人。

此修改是使用chmod命令完成的,通常后跟一個字符串或一個3位數的八進制符號(0xxx)。

我建議您查閱手冊頁中的chmod命令,因為它們涵蓋了如何非常有效地使用它。

至於第二個問題,不。 不幸的是,光學媒體使用的文件格式實際上是光盤上的數據轉儲。 文件系統支持權限,它不是文件本身的實際屬性。 結果,光盤只是數據的完整副本,沒有特殊的權限。 這意味着,無論在任何系統上使用該光盤,權限始終是完全打開的。

編輯:只是為了澄清。 如果您沒有文件的讀取權限,則無法將文件刻錄到光盤上。 對不起,如果造成任何混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM