linux系統之文件的屬性及權限的變更

linux最優秀的地方就在於他的多用戶多任務環境。大家可以想想多個用戶具有不同的保密數據,因此這些文件的管理權限就尤爲重要了。linux一般將文件的存取身份分爲三個類別,分別是:owner(文件屬主),group(所屬羣組),others(其他人),並且三種身份都有read(讀),write(寫),execute(執行)權限。

使用者的身份

1。owner:文件屬主,也就是我們說的文件擁有者

顧名思義也就是說創建這個文件的人就是文件擁有者。我們知道linux是一個多用戶多任務系統,多用戶就代表會有很多人在這臺主機上工作,爲了保證每個人的隱私所以創建了這種角色。比如說:你寫了一封情書放在自己的文件夾,你總不希望你的情書變成公開的新聞讓每個人都過目一遍吧,這時你只需要把文件設置成"文件擁有者",也就是是隻有"我"才能查看並且修改這個文件的內容。所以即使別人知道你的文件夾裏有情書,但是沒有權限也無法打開。

2。group:所屬的羣組

說起羣組我們就知道這是討論多個人的權限,主要用於團隊開發過程,就比如說有兩隊人員參加一個比賽分別是A隊和B隊, A隊有三個成員分別是小紅,小明,小黑,B隊有三個成員分別是大紅,大明,大黑。 因爲這兩隊之間是競爭關係,所以肯定不能互相看對方的文件。但是隊員之間要合作必須可以互相查看那些文件,這時候我們就需要這個羣組權限來進行限制,這樣一來團隊成員可以閱讀並且修改,而非團隊成員則無法查看,同時你還可以設置上方講過的owner,這樣你也有自己的隱私文件。 同組也無法查看,是不是很方便

3。others:其他人

顧名思義,就是外人。就那上邊那個例子說就是一個不參加比賽的路人甲。既不是你自己,也不是你小組人員,這個比較好理解不做過多解釋了。

 

文件的類別以及權限,

(1)linux文件屬性

既然要給大家介紹文件屬性,首先大家就要會查看文件,我們這裏使用ls -al查看

這裏給大家舉例分析理解一下紅色橫線這兩個文件的屬性吧

第一欄字符串都是有十個字符組成,第一個字符有的是d有的則是-,

所以這第一個字符就說明文件類型是什麼?

字符-則說明是文件,

字符d則說明是目錄。

字符l說明是鏈接文件

字符b說明是可存儲設備

字符c設備文件中的序列設備(例如鍵盤鼠標)

然後就是剩下的九個字母,我們知道使用者身份是三個, 而權限也是三個可讀,可寫,可執行,三三得9,所以這就9個字符每三個爲一組,每個組就代表一個身份,組內的字符就代表對應權限,r代表可讀,w代表可寫,x代表可執行,如果沒有權限則爲"-"。

第一個畫線部分的第一欄爲rw-r--r--(除去首個字符後), 每三個分成一組,第一組rw-, 首先這一組代表自己的權限,r代表可讀,w代表可寫,-代表沒有執行權限(如果是x則代表可以執行);以此類推第二組爲r--代表的是羣組人員的權限,就代表羣組人員只能讀,不可寫也就是不能修改,不可執行。同樣第三組代表的其他人,和同組成員權限一樣, 可讀不可寫不可執行。

第二個畫線部分的第一欄爲r-xr-xr-x(除去首個字符後)。 每三個分成一組,第一組爲自己的權限r-x,可讀不可寫可執行, 第二組所屬羣組權限r-x,可讀不可寫可執行,第三組其他人權限r-x,可讀不可寫可執行。

第二欄中表示的是當前的連接數

第三欄爲文件擁有者賬號

第四欄爲文件所屬羣組

第五欄位文件的容量,默認單位爲Bytes

第六欄爲文件的最後修改時間

最後一欄則是文件的名字。

(2)修改文件的屬性與權限

我們現在知道了文件權限對於系統安全重要性,也知道了使用者和羣組的相關性,那麼我們如何修改權限呢?我們可以修改的權限有哪些呢?修改權限我們用到以下三個指令

chgrp:改變文件所屬羣組

chown:改變文件擁有者 

chmod:改變文件的權限  

①chgrp:改變文件所屬羣組(change group的縮寫),其實改變一個文件的羣組很簡單,要注意的是要改變的羣組名稱必須要在/etc/group文件內存在纔可以,cat。就比如說你要加入a小組的前提是存在a小組,如果a小組不存在則失敗。

語法規則:chgrp +[R] 新的羣組名+要修改的文件名

-R:進行持續變更,講子目錄下的所有同名文件也全部變更,可以不加

記得我們要先su,進入管理員模式才能修改,不然你本來不能查看a小組的文件內容,然後你自己把自己修改成a小組成員,然後查看內容肯定也不合理吧

就像這個test.c文件,本來所屬羣組是paul

經過修改後所屬羣組變成了root

因爲etc/group中存在root所以成了,比如我們想把他修改成qqqq羣組則不會成功,因爲etc/group中不存在qqqq。

②chown:改變文件擁有者(change owner的縮寫),同理使用者的賬號也必須在etc/passwd中存在纔可以,可以用cat指令進行查看。就像你想把好吃的給你女朋友吃,但你的沒有女朋友又怎麼會成功呢?

語法規則:chown + [R] +賬號名稱+文件或者目錄

例如:將test.c的擁有者改爲root這個賬號;

③改變權限chomd:這個是權限這部分內容中最重要的部分,大家認真看看

chomd有兩種用法,分別用數字和符號進行權限變更

  • 數字類型改變文件權限

分別用數字代表權限        r:4      w:2       x:1

語法規則:chmod +[R]  +xyz +文件名

備註:這裏的xyz分別代表身份是文件屬主,羣組,其他人。

例如:[-rwxrwx---]轉化成數字 (rwxrwx---的含義上邊介紹過)

文件屬主owner=rwx=4+2+1=7

羣組group=rwx=4+2+1=7

其他人other=---=0+0+0=0

所以權限數字爲770

chmod 770 test.c

這樣就把test.c的權限給修改了

  • 符號類型改變文件權限

我們知道我們改變權限的對象就三個(1)user    (2)group    (3)others三種身份,我們分別用這三個的首字母u,g,o來表示他們,此外a表示all代表全部身份。當然權限也分別用縮寫r,w,x來表示

語法規則:chmod  u/g/o/a   +/-/=(增加權限/除去權限/設置權限)  r/w/x   文件名

例如:將test.c文件權限設置爲rwxr-xr-x

chmod u=rwx,go=rx test.c

例如:給test.c的羣組賦予w權限

chmod g+w test.c

例如:給test.c的羣組除去rw權限

chmod g-rw test.c

                       

以上就是我對權限變更的理解,如果有什麼不懂或者有什麼遺漏錯誤麻煩大家指正                                                                                      

 

 

                                                     

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章