Linux文件權限設置
在linux中,為了數據的安全性,權限控制是十分重要的,在這裏面可以細分成兩個部分來理解他
權限定義
linux每一個用戶都屬於一個組,不能獨立於組外。linux的文件權限需要定義三個實體對它的權限
- 文件所有者
- 文件所在組
- 其他組
所有者
一般為文件的創建者,誰創建了該文件,就天然的成為該文件的所有者
可以使用chown【change owner】 用戶名 文件名來修改文件的所有者,例如更改error.log的所有者為enoch
chown enoch error.log #更改error.log的所有者為enoch chown enoch:home error.log #更改error.log的所有者和用戶組為enoch與homechown .home error.log #更改error.log的用戶組為home #在所有者和用戶組中使用“.”也可以,但是由於很多用戶喜歡使用小數點,可能造成系統誤判,所以建議使用":"
所在組
當用戶創建了一個文件後,這個文件的所在組就是該用戶所在的用戶組
可以使用chgrp【change group】來改變文件的所在組
chgrp home error.log #修改文件的所在組為home
其他組
除開所在組之外的其他組均為其他組
權限說明
當我們使用命令 ls -l 時候就會顯示出改文件或者文件夾相對應的權限
drwx------ 2 www www 4096May 5 19:35 www drwxrwxrwx 2 root root 4096 May 5 16:51 wwwlogs drwxr-xr-x 3 root root 4096 Jul 4 20:45 wwwroot
第一列規定了文件權限說明,共由十個字符分成四個部分,用www目錄來說
[d] [rwx] [---] [---]
1 234 567 890
1:代表這個文件是目錄還是文件名其中d代表目錄,如果是文件則為-,更多的文件信息如下
d 目錄文件。 l 符號鏈接(指向另一個文件,類似於瘟下的快捷方式)。 s 套接字文件。 b 塊設備文件,二進制文件。 c 字符設備文件。 p 命名管道文件。
234:文件所有者的權限,rwx及為可讀可寫可執行
r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權限。 w(Write,寫入):對文件而言,具有新增,修改,刪除文件內容的權限(不包含刪除該文件);對目錄來說,具有新建,刪除,修改,移動目錄內文件的權限(不論該文件的權限為何都可以進行刪除操作)。 x(Execute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限(能否使用cd命令進入該目錄)。
567:文件所有組的權限,---代表沒有任何權限
890:除開所有者與所有組以外用戶的權限,此處沒有任何權限
修改權限
修改權限的命令是chmod,而改變權限的方式分為兩種
1.數字改變權限法
Linux的文件基本權限只有九個,分別是onwer,group,other三種身份,所以我們可以用數字來代表權限,其中
r : 4 w : 2 x : 1
每種身份設置權限為數字的累加,比如將error.log文件設置成所有人都有RWX權限,則
chmod 777 error.log
因為[-rwxrwxrwx]實際上是[4+2+1][4+2+1][4+2+1]也就是777了。如果我們將權限變為[-rwxr-xr--]則[4+2+1][4+0+1][4+0+0]即為754
2.符號改變法
符號改變法實際上就是對不同實體設置權限,其中我們只要懂的三個部分的含義就可以
chmod | u | +(加入) | 文件或目錄 |
g | =(設置) | ||
o | |||
a | -(除去) |
舉幾個例子來說明吧,設置用戶對error.log有rwx權限,所在組和其他組有rx權限。
chmod u=rwx,go=rx error.log
設置用戶對error.log有rwx權限,所在組有rx權限,其他組有r權限
chmod u=rwx,g=rx,o=r error.log
出去所有用戶的可執行權限
chmod a-x error.log
權限的區別
Linux文件權限設置