1、權限介紹
使用ls命令查看時,發現長格式顯示的第一列就是文件的權限
![](http://static.javashuo.com/static/loading.gif)
權限位一共有 10 位,這 10 位權限位的含義以下圖所示。
![](http://static.javashuo.com/static/loading.gif)
- 第 1 位表明文件類型。Linux 不像 Windows 使用擴展名錶示文件類型,而是使用權限位的第 1 位表示文件類型。雖然 Linux 文件的種類不像 Windows 中那麼多,可是分類也很多,詳細狀況 可使用「info ls」命令查看。
「-」:普通文件。
「b」:塊設備文件。這是一種特殊設備文件,存儲設備都是這種文件,如分區文件/dev/sda1 就是這種文件。
「c」:字符設備文件。這也是特殊設備文件,輸入設備通常都是這種文件,如鼠標、鍵盤 等。
「d」:目錄文件。Linux 中一切皆文件,因此目錄也是文件的一種。
「l」:軟連接文件。
「p」:管道符文件。這是一種很是少見的特殊設備文件。
「s」:套接字文件。這也是一種特殊設備文件,一些服務支持 Socket 訪問,就會產生這樣的文件。
若是有字母,則表明擁有對應的權限;若是是「-」,則表明沒有對應的權限。
- 第 2~4 位表明文件全部者的權限
r:表明 read,是讀取權限。
w:表明 write,是寫權限。
x:表明 execute,是執行權限
- 第 5~7 位表明文件所屬組的權限,一樣擁有「rx」權限。
- 第 8~10 位表明其餘人的權限,一樣擁有「rx」權限
2、基本權限命令。
一、chmod,修改權限的命令 。
命令名稱:chmod。
英文原意:change file mode bits。
所在路徑:/bin/chmod。
執行權限:全部用戶。
功能描述:修改文件的權限模式算法
1.一、命令格式
chmod 選項 命令模式 文件...
-R: 遞歸設置權限,也就是給子目錄中的全部文件設定權限
1.二、權限模式
chmod 命令的權限模式的格式是「[ugoa][[+-=][perms]]」,也就是「[用戶身份][[賦予方式][權限]]」 的格式。vim
用戶身份。
- u:表明全部者(user)。
- g:表明所屬組(group)。
- o:表明其餘人(other)。
a:表明所有身份(all)。安全
賦予方式。
- +:加入權限。
- -:減去權限。
=:設置權限。服務器
權限。
- r:讀取權限(read)。
- w:寫權限(write)。
- x:執行權限(execute)。
例如
chmod o-w a.txt
#把a.txt針對其餘人寫權限移除。
1.三、數字權限
數字權限的賦予方式是最簡單的,可是不如以前的字母權限好記、直觀。
4:表明「r」權限。
2:表明「w」權限。
1:表明「x」權限。
例如less
chmod 644 a.txt
# 爲a.txt 設置 rw-r--r-- 權限
1.4.經常使用權限
數字權限的賦予方式更加簡單,可是須要用戶對這幾個數字更加熟悉。其實經常使用權限也並很少,只有以下幾個。code
- 644:這是文件的基本權限,表明全部者擁有讀、寫權限,而所屬組和其餘人擁有隻讀權限。
- 755:這是文件的執行權限和目錄的基本權限,表明全部者擁有讀、寫和執行權限,而所屬組和其餘人擁有讀和執行權限。
- 777:這是最大權限。在實際的生產服務器中,要盡力避免給文件或目錄賦予這樣的權限,這會形成必定的安全隱患。
3、基本權限的做用
3.一、權限含義的解釋 首先,讀、寫、執行權限對文件和目錄的做用是不一樣的
權限對文件的做用。
- 讀(r):對文件有讀(r)權限,表明能夠讀取文件中的數據。若是把權限對應到命令上,那麼一旦對文件有讀(r)權限,就能夠對文件執行 cat、more、less、head、tail 等文件查看命令。
- 寫(w):對文件有寫(w)權限,表明能夠修改文件中的數據。若是把權限對應到命令上,那麼一旦對文件有寫(w)權限,就能夠對文件執行 vim、echo 等修改文件數據的命令。注 意:對文件有寫權限,是不能刪除文件自己的,只能修改文件中的數據。若是要想刪除文件, 則須要對文件的上級目錄擁有寫權限。
執行(x):對文件有執行(x)權限,表明文件擁有了執行權限,能夠運行。在 Linux 中,只要文件有執行(x)權限,這個文件就是執行文件了。只是這個文件到底能不能正確執行, 不只須要執行(x)權限,還要看文件中的代碼是否是正確的語言代碼。對文件來講,執行(x)權限是最高權限。blog
權限對目錄的做用。
- 讀(r):對目錄有讀(r)權限,表明能夠查看目錄下的內容,也就是能夠查看目錄下有哪些子文件和子目錄。若是把權限對應到命令上,那麼一旦對目錄擁有了讀(r)權限,就可 以在目錄下執行 ls 命令,查看目錄下的內容了。
- 寫(w):對目錄有寫(r)權限,表明能夠修改目錄下的數據,也就是能夠在目錄中新建、 刪除、複製、剪切子文件或子目錄。若是把權限對應到命令上,那麼一旦對目錄擁有了寫(w) 權限,就能夠在目錄下執行 touch、rm、cp、mv 命令。對目錄來講,寫(w)權限是最高權限。
執行(x):目錄是不能運行的,那麼對目錄擁有執行(x)權限,表明能夠進入目錄。若是 把權限對應到命令上,那麼一旦對目錄擁有了執行(x)權限,就能夠對目錄執行 cd 命令,進入目錄。遞歸
3.二、目錄的可用權限 目錄的可用權限其實只有如下幾個。
- 0:任何權限都不賦予。
- 5:基本的目錄瀏覽和進入權限。
7:徹底權限。ip
4、全部者和所屬組命令
4.一、chown 命令
chown 是修改文件和目錄的全部者和所屬組的命令,
命令名稱:chown。
英文原意:change file owner and group。
所在路徑:/bin/chown。
執行權限:全部用戶。
功能描述:修改文件和目錄的全部者和所屬組。it
命令格式
[root@love2 ~]# chown [選項] 全部者:所屬組 文件或目錄
-R: 遞歸設置權限,也就是給子目錄中的全部文件設置權限
4.2.chgrp 命令 chgrp 是修改文件和目錄的所屬組的命令
命令名稱:chgrp。
英文原意:change group ownership。
所在路徑:/bin/chgrp。
執行權限:全部用戶。
功能描述:修改文件和目錄的所屬組
命令格式
[root@love2 ~]# chgrp [選項] 組名 文件或目錄
-R: 遞歸設置權限,也就是給子目錄中的全部文件設置權限
5、umask 默認權限
當咱們登陸系統以後建立一個文件或者目錄老是有一個默認權限的,那麼這個權限是怎麼來的呢?這就是umask乾的事情。umask設置了用戶建立文件的默認 權限,它與chmod的效果恰好相反 。
5.1查看umask權限。
# 用八進制數值顯示 umask權限
[root@love2 ~]# umask
0022
# 用字母表示文件和目錄的初始權限
[root@love2 ~]# umask -S
u=rwx,g=rx,o=rx
#設置umask值
umask 033
5.2 umask 權限的計算方法 咱們須要先了解一下新建文件和目錄的默認最大權限。
注意:umask 默認權限的計算毫不是數字直接相減。
例如 umask 是 033
- 文件的默認權限最大隻能是 666,而 umask 的值是 033
「-rw-rw-rw-」減去「-----wx-wx」等於「-rw-r--r—」
- 目錄的默認權限最大能夠是 777,而 umask 的值是 033 「drwxrwxrwx」減去「d----wx-wx」等於「drwx-r--r--」