Linux學習記錄(8)Linux基本權限設置

今天學習了Linux的權限相關的知識,在Linux下,有三種“身份”:文件的所屬者,與該文件所屬者相同組的成員,其他成員。

這裏說一下組的概念,組相當於我小時候做值日,每週每天都會有不同的人來打掃衛生,那每天打掃衛生的那批人,就是一個組,在Linux上,假設我們新建一個組A,裏邊有成員a,b,c。這就構成了一個最簡單的組。

其他的兩個,很好理解,從詞語上來看就能明白意思,這裏就不做解釋了。

既然有組和用戶,那麼我們怎麼去新建一個組合用戶呢?這裏用到了useradd和groupadd,介紹這兩個命令之前,要先明確uid和gid。

我們都知道,系統在使用用戶登錄的時候,不可能是用用戶名操作的,有過編程經驗的人都知道,我們要給每個用戶分配一個唯一的ID,系統進行任何操作的時候,都使用這個ID,這樣就進行了統一。

在Linux下,uid由32位組成從0開始,60000以內。

其中:0爲root用戶;

1-499爲系統用戶;

500之後爲普通用戶。

下邊我們介紹命令的使用方式:

1、

useradd:增加用戶

例:useradd  zw

這樣就建立了一個名爲zw的用戶。

有以下幾個參數:

-d 家目錄

-s 指定登錄的shell

-u 指定userId

-g 指定主組

-G 指定附屬組

2、

userdel:刪除用戶

userdel 用戶名

-r參數,在刪除用戶的同時,一起刪除家目錄

3、

groupadd:增加組

groupadd 組名

4、

groupdel:刪除組

groupdel 組名



講完了用戶和組的概念之後我們來說一下權限

Linux是根據UGO這三種不同的身份來限制我們的權限的

權限分爲3種,r可讀,w可寫,x可執行

5、

chmod命令:chmod 模式 文件路徑

例:爲名爲test的文件的同族用戶增加可執行權限:chmod g+x test

同樣的,我們減去一個權限:chmod g-x test

用戶和其他也是一樣的。

除了這種方式外,我們還可以用數字來代表權限,其中,r=4,w=2,x=1

假設我們現在有這樣一組權限

 U         G         O

rwx      r-x       ---

那麼我們可以這樣表示

U G O

7  5  0

很簡單吧,就是將這些代表的數字相加就ok了。

例:chmod 750 test,就ok了

6、

除了這3X3的權限之外,Linux還有3個特殊權限,名字叫做SUID,SGID,STICKY。

SUID:以文件所屬者的身份運行,而不是當前操作的用戶。

這個權限存在的意義是:假如我們現在有一個可執行的文件,裏邊有一條命令,要訪問根目錄的“test”文件夾,假設這個文件夾裏邊有很重要的東西,只能root用戶訪問,其他人都不能看,我們還想使用這個可執行文件,怎麼辦?如果我們以當前用戶去執行這個文件,那肯定會出錯的,最好的辦法就是,我使用這個文件,以這個文件的所屬用戶的身份去執行,但我們並沒有切換用戶,我還是我,但是執行文件卻認爲我是root,這樣一來,我就有權限訪問test文件夾了。就可以解決這個問題了。

SGID:在該目錄下所新建的所有文件和目錄都屬於這個組。

STICKY:用戶只能刪除屬於自己的文件。

假如我們有一個文件夾test,裏邊是公司的一些文件,同一個用戶組的人對這個文件夾都有讀寫的權利,假如員工A創建了一個文件,員工B與員工A有矛盾,B看見A的文件就刪,阻止A正常工作,這樣可是很不好的。那麼設置STICKY權限,就可以阻止這種事情的發生,假如文件的創建者不是B,那麼B就不能對這個文件進行操作了。

其中,SUID=4,SGID=2,STICKY=1

那麼我們設置的時候就可以變成4位了,順序是:特殊位,U,G,O

所以命令可以這樣寫:chmod 1750 test


發佈了78 篇原創文章 · 獲贊 18 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章