2017.12.20 2周3次課
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次課