1. 程式人生 > >2017.12.20 2周3次課

2017.12.20 2周3次課

linux學習

2017.12.20 二周第三次課

2.14 文件和目錄權限chmod

命令chmod( change mode的簡寫 )用於改變用戶對文件/目錄的讀寫執行權限

其格式為:chmod [-R] xyz文件名(這裏的xyz表示數字)。其中,·-R選項的作用等同於chown命令的一R選項,也表示級聯更改。

屬性的含義: 【r】:讀 ;

【w】:寫;

【x】:執行;

【-】:不可以;

值得註意的是,在Linux系統中,一個目錄的默認權限為755,而一個文件的默認權限為644。

為了方便更改文件的權限,Linux使用數字代替rwx。

具體規則為:r=4,w=2,x=1 ,-=0。例如, rwxrwx---用數字表示就是770,其具體算法為 : rwx=4+2+1=7, rwx=4+2+1=7,---=0+0+0=0

1.權限說明:

第一列第一項表示文件類型外,後面9位表示的是文件的權限,三位一組,共3組。

技術分享圖片

1)第一組表示的是所有者對應的權限:

技術分享圖片

這表示可讀寫,不可執行

2)第二組表示的是所屬組的權限:

技術分享圖片

這表示可讀,不可寫,不可執行

3)第三組表示的其他用戶的權限

技術分享圖片

這表示可讀,不可寫,不可執行

例子:

更改2.txt文件的權限:所有者讀寫執行;所屬組和其他都沒有權限

數字表示是:rwx------=700

技術分享圖片

2.第一列最後一位【.】的說明

技術分享圖片

說明文件受制於selinux

用【# setenforce 0】臨時關閉。下次重啟SElinux後還會開啟

技術分享圖片

永久關閉SElinux必須運行如下命令

【# vi /etc/selinux/config】

技術分享圖片

更改SELINUX=enforcing為SELINUX=disable,存盤退出,重啟系統。

這樣下次創建文件時就沒有【.】

3.【chmod】對文件或對目錄,它操作的生效的僅僅是文件或目錄本身

技術分享圖片

技術分享圖片

技術分享圖片

aming2目錄裏的文件權限沒有更改

技術分享圖片

4.【-R】可以把目錄和目錄下面的子目錄和文件批量的修改權限

技術分享圖片

5. 【chmod】還支持使用rwx的方式來設置權限。使用u、g和o來分別表示user、group和others的屬性,用a代表all(即全部)。

技術分享圖片

權限的“+”和“-”的用法

1)所有的權限都有“x”的權限

技術分享圖片

2)其他用戶沒有“x“的權限

技術分享圖片

2.15 更改所有者和所屬組chown

【chown】命令

更改文件的所有者,其格式:chown[- R] 賬戶名 文件名

更改所屬組,其格式chown[- R] 賬戶名:組名 文件名。

[-R]適用於目錄,作用的級聯更改。不僅能更改當前目錄,目錄下的目錄和文件也全部更改。

【chgrp】命令改變所屬組

1.更改所有者:

技術分享圖片

2.更改所屬組

【chgrp】命令

技術分享圖片

【chown】命令

技術分享圖片

3. 更改用戶和組

技術分享圖片

4.[-R]的用法

技術分享圖片

2.16 umask

默認情況下 ,目錄的權限值為755

技術分享圖片

普通文件的權限值為644

技術分享圖片

那麽這個值是由誰規定的呢?究其原因,便涉及umask了。

1.命令umask用於改變文件的默認權限, 其格式為 : umask xxx ( 這裏的 ×代表3個數字 )。 如果要查看umask的值, 只要在命令行輸人umask, 然後回車即可 , 如下所示 :

技術分享圖片

“# umask 0022 ”這裏0022是root用戶的umask值 , 這表示什麽含義呢?

1)若用戶建立普通文件,則預設沒有可執行權限,只有r、w兩個權限,最大值為666 (-rw-rw-rw-)。

2)若用戶建立目錄,則預設所有權限均開放,即777(drwxrwxrwx)。

3)“-”=0,減去任何權限都是0:【-】-【r】=【-】;【-】-【x】=【-】

umask的值是可以自定義的,比如設定umask為003

技術分享圖片

創建文件時默認權限變成了664:666(rw-rw-rw-)-003(------wx)=rw-rw-r--=664

技術分享圖片

創建目錄時默認權限分別為774:777(rwxrwxrwx)-003(-------wx)=rwxrwxr--=774

技術分享圖片

2.umask可以在/etc/bashrc裏面更改,默認情況下,root的umask 為022, 而一般使用者則為002。可寫的權限非常重要,因此預設會去掉寫權限。可能大家一直有一個疑問,老師介紹的umask值一直都是3 位數,但為什麽系統裏面是4位呢?最前面還有一個0呢,這個0加與不加沒有影響,它表示umask數值是八進制的。

2.17 隱藏權限lsattr/chattr

1.【chattr】命令:設置隱藏權限

命令chattr(change attribute)的格式為:chattr [ +-=] [Asaci] [文件或者目錄],其中,+、-和=分別表示增加、減少和設定。各個選項的含義如下。

A:增加該屬性後,表示文件或目錄的atime將不可修改。

s:增加該屬性後,會將數據同步寫人磁盤中。

a:增加該屬性後,表示只能追加不能刪除,文件可以追加,目錄下可以增加文件和子目錄,可以更改目錄裏面的文件。非root用戶不能設定該屬性。

c:增加該屬性後,表示自動壓縮該文件,讀取時會自動解壓。

i: 增加該屬性後,表示文件和目錄不能刪除、重命名、設定鏈接、寫入以及新增數據。可以更改目錄裏面已經存在的文件

以上選項中, 常用的為a和i這兩個選項。

以文件舉例說明其用法(目錄也是一樣):

1)“+i“:用戶沒有權限更改文件和文件名,無法更改時間信息,無法刪除,

技術分享圖片

技術分享圖片

技術分享圖片

緩存文件

技術分享圖片

原因是剛在在“vi”編輯時會自動的創建一個緩存文件,當文件保存退出時這個文件會覆蓋原來的文件,然乎緩存文件會被刪除。如果加了特殊權限“i”,這個文件就保存不了,保存不了的話就會保存以“~“結尾的緩存文件,如上述文件。

2)“-i”可以去掉這個權限

技術分享圖片

3)“+a”:不能更改,不能刪除,不能重命名,能追加,可以更改時間信息

技術分享圖片

4)“-a”可以去掉這個權限

技術分享圖片

2.【lsattr】命令:查看隱藏權限

Isattr(list attribute),該命令用於讀取文件或者目錄的特殊權限,其格式為:Isattr [-aRd] [文件/目錄名]。

1)-a:類似於Is的-a選項,即連同隱藏文件一同列出。

2)-R:連同子目錄的數據一同列出。

3)-d:查看目錄本身。


2017.12.20 2周3次課