文件或目錄權限chmod
首先,命令ls -l可以查看文件詳細信息,第一列的第一個字符表示文件類型,剩餘的九位表示文件權限,與文件的所有者和所屬組有關,其中第一個三位rw-(是否可寫r、是否可讀w、是否可執行x)表示文件所有者權限,第二個三位r--表示文件所屬組權限,第三個三位表示其他用戶對文件的權限。
權限也可以用數字表示,r=4,w=2,x=1,rwx=4+2+1=7
然後介紹命令chmod(change mode)就是更改權限,數字700就代表rwx------,示例如下:
其中,第一列最後一位的點表示文件受制於selinux,如果關閉selinux,並更改配置文件# vi /etc/selinux/config,再創建新的文件,最後一位的點就不會再出現
命令chmod -R,表示將目錄以及目錄下的子目錄和文件批量更改權限
命令chmod也可以這樣,# chmod u=rwx,g=r,o=r aming2,如果a+x表示所有權限a+x,
更改所有者和所屬組chown
命令chwon(change owner)更改文件所有者,命令chgrp(change group)更改文件所屬組
命令chown也可以這樣用,在用戶和組之間用冒號,就可以同時更改所有者和所屬組;或者將前面的所有者去掉,可以只更改文件所屬組
命令chown -R也可以批量更改目錄以及目錄下的子目錄和文件的所有者和所屬組
umask
umask決定默認的文件和目錄的權限,系統root用戶的umask值默認是0022,通過umask值可以確定文件和目錄的權限是什麼;用法是umask xxx(3個X代表3個數字)
若用戶建立普通文件,預設沒有可執行權限,只有r、w兩個權限,最大值爲666(-rw-rw-rw-)
若用戶建立目錄,預設所有權限開放,即777(drwxrwxrwx)
所以,目錄的權限爲rwxrwxrwx - ----w---w-=rwxr-xr-x(755)
普通文件的權限爲rw-rw-rw- - ----w---w-=rw-r--r--(644)
注意,這裏不能用數字減,應該是九位權限位減,還有- - r,- - w,- - x結果都是-
隱藏權限 chattr lsattr
命令chattr(change attrbute)表示更改屬性,格式:chattr [+-=][Asaci][文件或者目錄名],其中+、-和=分別表示增加、減少和設定。
A:增加該屬性後,表示文件或目錄的atime將不可修改。
s:增加該屬性後,會將數據同步寫入磁盤中。
a(常用):增加該屬性後,表示只能追加不能刪除,非root用戶不能設定該屬性。
c:增加該屬性後,表示自動壓縮該文件,讀取時會自動解壓。
i(常用):增加該屬性後,表示文件不能刪除,重命名,設定鏈接,寫入以及新增數據。
命令lsattr(list attribute)查看文件和目錄的特殊權限,格式lsattr [-aR] [文件/目錄名]
-a:類似於ls的-a選項,即連同隱藏文件一同列出
-R:連同子目錄的數據一同列出