Linux 入門記錄:十二、Linux 許可權機制,linux許可權

來源:互聯網
上載者:User

Linux 入門記錄:十二、Linux 許可權機制,linux許可權
一、許可權

許可權是作業系統用來限制資源訪問的機制,許可權一般分為讀、寫、執行。

系統中每個檔案都擁有特定的許可權、所屬使用者及所屬組,通過這樣的機制來限制哪些使用者、哪些組可以對特定的檔案進行什麼樣的操作。

每個進程都是以某個使用者的身份運行,所以進程的許可權與該使用者的許可權一樣,使用者的許可權越大,該進程所擁有的許可權也就越大。

 

二、檔案許可權

Linux 中,每個檔案擁有以下三種許可權:

許可權 對檔案的影響 對目錄的影響
r(讀取) 可讀取檔案內容 可列出目錄內容
w(寫入) 可以修改檔案內容 可在目錄建立、刪除檔案
x(執行) 可以作為命令執行 可訪問目錄內容

所以,目錄必須擁有 "x" 許可權才可查看其內容。很多時候,執行許可權 "x" 對於目錄而言也叫瀏覽許可權。僅有 "r" 許可權是無法查看目錄內容的(因為連訪問都做不到)。

 

三、UGO模型

Linux 許可權基於 UGO 模型進行控制:

  • U 代表 User,是檔案或檔案夾所屬使用者的許可權;G 代表 Group,是檔案或檔案夾所屬組的許可權;O 代表 Other,是其他使用者對檔案或檔案夾的許可權
  • 每一個檔案的許可權基於 UGO 模型進行設定
  • 許可權三個一組(rwx),對應 UGO 分別設定(總共有 3 個組 9 個許可權)
  • 每一個檔案擁有一個所屬使用者和所屬組,對應 UG,不屬於該檔案所屬使用者和所屬組的使用 O(Other)對應的許可權

命令 ls -l 可以查看目前的目錄下所有檔案的詳細資料:

中,每一行的格式如下:

 drwxr-xr-x.  2  mingc  mingc  4096   Sep 23 14:54   Desktop

 UGO許可權

 第1位是檔案類型描述符,"d"表示目錄,"-"表示檔案

 第2-4位"rwx"是U許可權,可讀可寫可執行

 第5-7位"r-x"是G許可權,可讀可執行,不可寫

 第8-10位"r-x"是O許可權

 連結數量   所屬使用者U   所屬組G   大小  日期時間  檔案或目錄名 

 

四、修改檔案所屬使用者和組

命令 chown 用以改變檔案的所屬使用者:

chown username filename

常用參數:

-R   歸地修改目錄下所有檔案的所屬使用者

命令 chgrp 用以改變檔案的所屬組:

chgrp groupname filename

常用參數:

-R   遞迴地修改目錄下所有檔案的所屬組

  

五、修改檔案許可權

命令 chmod 用以修改檔案的許可權:

chmod mode filename

mode 參數格式如下:

u、g、o     分別代表使用者、組、其他a           代表ugo+、-        代表加入或刪除對應許可權r、w、x     代表三種許可權-R          遞迴地修改

樣本:

chmod u +rw test.md    給test.md檔案的所屬使用者添加rw許可權chmod g -x test.md     給test.md檔案的所屬組移除x許可權chmod go +r test.md    給test.md檔案的所屬組和其他使用者添加r許可權chmod a -x test.md     給test.md檔案的所屬UGO移除x許可權

命令 chmod 也支援以三位八位元值的方式修改許可權,rwx 許可權值分別由數字表示如下:

r = 4 (2 ^ 2)w = 2 (2 ^ 1)x = 1 (2 ^ 0)

使用數字表示許可權時,每組許可權分別為對應數字之和:

rw  = 4 + 2 = 6rwx = 4 + 2 + 1 = 7r-x = 4 + 1 = 5

所以,使用數字表示 UGO 許可權時,可以用如下方式表示:

chmod 660 test.md  設定 UGO 許可權為 rw-rw----chmod 775 test.md  設定 UGO 許可權為 rwxrwxr-x

如果你對二進位位的概念不陌生,那麼 rwx 許可權就可以理解為:一個 4 位元組整數低位元組的低 3 位,x 在位 0(最低位),w 在位 1,r 在位 2,位 3 以上均為 0(關閉),從高向低看就是 rwx 的位排列。這 3 個位的開啟與關閉,就產生了 2 * 2 * 2 = 8 種位組合,再配合 UGO 模型,U、G、O 各自佔用 3 個二進位位,總共佔用 9 個二進位位,理論上就有 2 ^ 9 = 512 種不同角色的許可權組合(~~應該沒算錯吧)。

這裡沒有暫時沒有考慮特殊許可權,標準的 Linux UGO 許可權值是 4 個八進位位,最高位(3 個二進位位)是儲存特殊許可權的。

 

六、執行個體案例描述

現在有個某公司 Company,部門和員工如下:

部門 員工
培訓部(Training)

李雷(LiLei)

王雪(WangXue)

市場部(Market)

韓梅梅(HanMeimei)

林立(LinLi)

管理部(Manage)

路人甲(User1)

路人乙(User2)

不行了,名字想不出來了~~

現在,要為每個部門和員工建立相應的工作資料夾,要求如下:

 

解決方案

好的,下面開始:

用組來表示部門,用使用者來表示員工,我以 root 使用者登入添加組和使用者,並為使用者指定附屬組(部門):

為了讓整個公司的檔案夾 Company 有足夠的存取權限,在根目錄 "/" 下建立公司的檔案夾目錄 /Company,並建立三個部門子目錄,去掉每個部門目錄的 O 許可權和指定所屬部門:

OK,這樣就滿足了前 3 個要求:有統一檔案夾和多個不同的部門目錄,並且不同部門之間全沒有 O 許可權,不能訪問對方。

下面繼續建立員工目錄,並為每個目錄指定它的所屬員工和所屬部門:

好的,第 4 和第 5 個要求也滿足了:每個員工有自己的檔案夾,並且不同員工之間只能查看不能修改。

最後測試一下,登入 LiLei 帳號:

不同部門之間不能查看,同一部門之間可以查看不能修改,完成。

 

相關連結:

Linux安全體系的檔案許可權

linux檔案權許可權

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.