linux許可權控制機制

2021-07-04 04:46:59 字數 2934 閱讀 3209

linux對於使用者許可權的分配有著很嚴格的約束,在linux中一切皆檔案的概念已深入人心,它通過對不同的檔案定義其屬主及所屬使用者組的方式控制著檔案的訪問許可權。在linux中站在檔案的角度來考慮,系統角色大概分為四種,分別第一種超級使用者,第二種檔案或目錄的屬主也就是檔案的所有者,第三種角色是屬主的同組人,第四種便是其他人,這也就是linux基於ugo的許可權控制模型,u代user,g代表group,o代表other,每乙個檔案的許可權基於ugo進行設定。許可權三個一組(rwx),對應ugo分別設定每乙個檔案擁有乙個所屬使用者和所屬組,對應ug許可權,不屬於該檔案所屬使用者或所屬組的使用o許可權。聽上去似乎比較難懂,下面根據例項場景介紹一下,相信大家都能看的明白。

如果你是乙個linux小白,現在接到上級命令,需要將伺服器換為linux作業系統(以centos為例),那麼你現在需要做的第一步肯定是去裝linux作業系統。好吧,現在linux雲伺服器的安裝十分的方便,在此就不做過多介紹了,需要注意的是剛安裝完系統之後可能會遇到普通使用者也不允許ssh方式登入的情況,官網解決辦法很簡單,點此檢視

1.建立使用者。

建立普通使用者的過程是乙個簡單到不行的過程,如果你建立乙個普通使用者並且想禁止其 通過telnet方式登入,那麼可以使用這個命令:useradd -d /home/user1 -m -s /sbin/nologin u1,這樣建立的u1使用者擁有自己的主目錄/home/user1,並且只能通過ssh方式登入。在建立使用者的同時,預設建立了乙個使用者組,使用者組的名字與使用者名稱相同。我們可以以同樣的方式建立使用者u2.

2.建立公共資料夾ceshi,並指定檔案屬主。

切換到root使用者後,通過mkdir命令建立資料夾,同時在資料夾下建立ceshi.txt檔案。此時分別切換到u1使用者和u2使用者,發現普通使用者對於root建立的ceshi資料夾及其子檔案均只有讀的許可權,那麼如何讓兩個使用者都對ceshi資料夾及其子檔案擁有讀寫許可權呢?一共有兩種方式,第一種是指定檔案屬主,例如將ceshi資料夾的屬主定義為u1,命令為:chown u1 ceshi,這樣修改了ceshi資料夾的屬主為u1之後,再切換到u1使用者,發現u1使用者具有了對該檔案的讀寫許可權,但是檔案的屬主只能有乙個,要麼屬於使用者u1要麼屬於使用者u2,怎樣才能讓這兩個使用者對該檔案具有相同的許可權呢,這就需要通過下面介紹第二種方式,以使用者組的方式定義許可權。

3.使用者組許可權的設定。

要想讓同一使用者組中的使用者均對某檔案具有相同許可權,首先我們要建立使用者組。建立的命令也十分簡單,groupadd -g 101 users_1,這個命令建立了users_1使用者組,使用者組的gid為101。建立好了使用者組之後,我們需要做的是將u1和u2均納入該使用者組中,gpasswd –a u1 users,但是光這樣是不行的,先前只指定了ceshi屬於u1使用者,如果想要達到與u1在相同使用者組的其他使用者都對ceshi檔案具有相同許可權,我們還需要指定ceshi檔案所屬的使用者組為users_1,chgrp users_1  ceshi,這樣指定完畢之後就需要通過ugo模型對使用者許可權進行授權了。

4.ugo模型給使用者授權。

ugo模式授權也有兩種表示方式,一種是文字表示法,另外一種是數字表示法。說道linux許可權,大致來了解一下linux的三種基本許可權分別為:讀、寫、執行,說明如下:

r 讀許可權可以讀檔案的內容可以列出目錄中的檔案列表

w 寫許可權可以修改、刪節檔案可以在該目錄中建立、刪除檔案

x 執行許可權可以執行該檔案可以使用cd命令進入該目錄

1. 目錄上只有執行許可權,表示可以進入或穿越他進入更深層次的子目錄

2. 目錄上只有執行許可權,要訪問該目錄下的有讀許可權的檔案,必須知道檔名才可以訪問

3. 目錄上只有執行許可權,不能列出目錄列表也不能刪除該目錄

4. 目錄上執行許可權和讀許可權的組合,表示可以進入目錄並列出目錄列表

5. 目錄上執行許可權和寫許可權的組合,表示可以在目錄中建立、刪除和重新命名檔案

如果我們想要檢視某檔案或目錄的許可權,可以使用ls -l命令,所列出的各列如下所示:

lrwxrwxrwx 1 osmond osmond 26 2006-05-19 13:40 examples -> /usr/share/example-content

drwx------ 2 osmond osmond 48 2006-07-01 04:14 mail

-rw-r--r-- 1 osmond osmond 9418746 2006-04-05 09:13 webmin-1.270.tar.gz

-rw-r--r-- 1 osmond osmond 97582 2005-10-25 21:00 zsync_0.4.2-1_i386.deb

資料分別表示檔案的許可權,檔案型別,檔案屬主,檔案所屬組,還有檔案的大小和建立時間以及檔名。

這裡我們重點關注的是許可權,也就是第一列。許可權說明既可以用字元形式表示,也可以用8進製數字表示,他們的對應關係如下圖所示:

了解完基本的許可權知識後,我們需要做的就是根據這些許可權字元(或數字),運用授權命令來對檔案進行授權了,還以上面的情況為例,我想要u1和u2對ceshi檔案具有相同許可權,已經完成的第一步是讓ceshi這個檔案屬於了users_1使用者組,並制定了他的屬主為u1,那麼接下來要進行的授權命令是讓u1的同組人具有讀寫的許可權,具體命令如下:chmod  ug+wr  ceshi,這樣再切換到u2使用者後,發現u2也對ceshi檔案具有了讀寫許可權,此時如果我們還要再新建使用者u3,並且想讓u3和u1一樣對ceshi具有讀寫許可權,我們只需要將u3使用者加入到users_1使用者組中就可以了,十分的方便。

既然上面提到了字元表示和數字表示兩種方式,那我們再簡單介紹一下數字表示,r = 4,w=2,x=1,ugo每個角色都對應著這三個許可權,並且其總許可權就分別是這三個數字的和。例如屬主具有讀寫和執行的許可權,那麼屬主的許可權構成為4+2+1=7,同組使用者具有讀寫的許可權,則其許可權構成為4+2=6,其他人不具有任何許可權,則其許可權構成為0+0+0=0,所以我們要實現上例的許可權問題,用數字表示方法為chmod 760 ceshi,這樣達到的效果是一模一樣的。喜歡哪一種看你口味了。

ACL 許可權控制機制

ugo user group others 目前在 linux unix 檔案系統中使用,也是使用最廣泛的許可權控制方式。是一種粗粒度的檔案系統許可權控制模式。acl access control list 訪問控制列表 2 digest 最常用,用類似於 username password 的許可...

Linux 許可權機制

一.檔案許可權 linux系統中,每個檔案擁有以下三種許可權 檔案 對檔案的影響 對目錄的影響 r 讀取 可讀取檔案的內容 可列出目錄內容 w 寫入 可修改檔案的內容 可在目錄中建立刪除檔案 x 執行 可以作為命令執行 可訪問目錄內容 注意 目錄必須擁有x許可權,否則無法檢視其內容 二.ugo模型 ...

Linux許可權機制

感謝linuxcast,感謝蘇勇 nash su 老師 linux中,每個檔案擁有三種許可權 目錄必須擁有x許可權,否則無法檢視其內容。linux許可權基於ugo模型進行控制 命令ls l可以檢視當前目錄下檔案的詳細資訊 drwxr xr aaa bbb 200 oct 1 13 50 test 詳...