Linux文件權限與目錄配置

jopen 8年前發布 | 8K 次閱讀 Linux 測試技術

一、linux文件屬性

用戶組概念:假如主機有兩個團體,第一個團體名為projecta,里面有class1,class2,class3;第二個團體名為projecb,里面有class4,class5,class6.這兩個團體之間有競爭性質,卻要交同一份報告。每組成員之間必須能夠互相修改對方的數據,但是其他組的成員則不能看到本組自己的文件內容。另外,如果teacher這個賬號是projecta和projectb兩個用戶的老師,能夠查看兩個的進度。這時候引入用戶權限問題。

權限的第一個字符代表是目錄、文件或鏈接文件等。若[d]則是目錄;[-]則是文件;[|]則是連接文件;[b]則表示設備文件里面的可供存儲的接口設備。[c]則表示設備文件里面的串行端口設備,如鍵盤。

權限分三個部分,第一部分:文件所有者的權限user。第二部分:用戶組的權限(group)。第三部分:其他非本用戶權限(other)。

例:如果我的目錄是下面的樣式,請問testgroup用戶組的成員與其他人可以進入本目錄嗎?

drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/

答:文件所有者test1[rwx]可以在本目錄中進行任何操作。而testgroup這個用戶組[r-x]的賬號,如test2,test3也可以進入本目錄進行工作,但是不能在目錄下進行修改操作(即寫)。至于其他用戶權限[r--]雖然有r,但是沒有x的權限,因此其他用戶并不能進入此目錄。

二、修改權限

常用的命令為: chgrp:改變文件所屬的用戶組

chown:改變文件的所有者

chmod:修改文件的權限

例:1) 改變所屬的用戶組:chgrp

2) 改變文件的所有者:chown

到現在就已經知道了如何改變用戶組和所有者了,但是具體什么時候用chown和chgrp呢?確實有時候需要更改所有者的,再例如:復制文件給你之外的其他人時,會連同執行者的屬性和權限一同復制,如下:

會看到.bashrc_test還是屬于root所有,如此一來,即使你將文件給予這個用戶,他仍然無法修改,所以這里必須要修改這個文件的所有者與用戶組。這時就會用到修改權限的操作,具體有兩種方法:

a、數字類型改變文件權限:

owner, group, others. 三種身份有各自自己的read、write、execute權限。各個權限的數字對照表如下:r: 4;   w: 2;   x:1    

例如當權限是[-rwxrwx---]

計算方法為owner=rwx=4+2+1=7

group=rwx=4+2+1=7

others=---=0+0+0=0,故這個權限就為770,具體的更改權限的語法為:

b、符號型改變文件權限

用u、g、o分別代表owner,group,others三種身份,a代表全部身份。具體寫法如下:

如果同時對三種身份進行操作時(如:每個人都賦予寫的權限):

如果說要是去掉所有人的可執行權限呢?

到這里,你了解多少了?如果還是有點不明白,接下來再看一個例子:

如果我們用root身份在/tmp下新建一個testing目錄,該目錄的權限是744且目錄擁有者是root。另外在testing中再建立一個空文件testing且權限為600。這時候用一個普通用戶去訪問testing(或者刪除testing)?具體執行情況如下:

但是如果要實現一般用用戶訪問testing,具體應該怎么做呢?可以考慮把該目錄變成用戶的:

當然,也可以把root的權限進行修改讓一般用戶能夠訪問,并且進行修改也可。

到這里,你會了嗎?別說你不會。。。。。

來自: http://www.cnblogs.com/liuzhongfeng/p/5134682.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!