文件和目錄權限/更改所有者和所屬組/umask/隱藏權限lsattr/chattr

文件和目錄權限

認識Linux文件屬性以及它的所有者和所屬組

[root@localhost ~]# ls -lh word1.txt

-rw-r--r--. 1 root root 0 12月 20 08:36 word1.txt

第一列:我們從一個杠(-)開始認識,第一個杠(-)是表示文件屬于哪種類型

*-表示該文件為普通文件*d表示該文件為目錄*l表示該文件為鏈接文件*b表示該文件為塊設備文件(比如/dev/sda就是這樣的文件,硬盤*c表示該文件為串行端口設備文件(又稱字符設備文件),比如鼠標、鍵盤這些

第二列:9個權限位rw-r--r--,每三個權限位為一段,第一段rw-;表示所有者的權限,第二段r--;表示為所屬組的權限,第三段r--;表示為其他用戶的權限

權限里字母所表示的意思,以及權限位數字的表示:

*r(4):可讀*w(2):可寫*x(1):可執行*-(0):沒有權限;為空

rw-r--r--;所有者權限為rw-既表示為可讀可寫不可執行,接下來的所屬組和其他用戶以此類推。

u表示:所有者,g表示:所屬組,o表示:其他用戶,a=u+g+o

第三列:(.)表示該文件占用的節點(inode),如果是目錄,那這個數值與目錄下是子目錄數量有關

第四列:表示該文件的所有者

第五列:表示該文件的所屬組

chmod命令

chmod是用來更改文件權限的一個命令,在Linux系統中,一個目錄的默認權限為755:rwxr-xr-x,而一個文件的默認權限為644:

[root@localhost ~]# chmod 777 word1.txt

[root@localhost ~]# ls -lh word1.txt

-rwxrwxrwx. 1 root root 0 12月 20 08:36 word1.txt

更改所有者和所屬組chown_chgrp

chgrp命令

chgrp命令可以用來更改文件的所屬組,其格式為:chgrp[組名][文件名],示例

[root@localhost ~]# groupadd hch

[root@localhost ~]# chgrp hch word1.txt

[root@localhost ~]# ls -lh

總用量 4.0K

-rwxrwxrwx. 1 root hch? ? 0 12月 20 08:36 word1.txt

-rw-r--r--. 1 root root? ? 0 12月 20 08:37 word2.txt

上例中有用到groupadd命令,該命令是用來創建一個所屬組的。

chown命令

chown命令是用來更改文件或者目錄的所有者,其格式為:chown[賬戶名][文件名]或者chown[-R][賬戶名:組名][文件名],以下示例:

[root@localhost ~]# mkdir hch

[root@localhost ~]# cd hch

[root@localhost hch]# touch 123.txt

[root@localhost hch]# cd

[root@localhost ~]# chown -R hch1 hch

[root@localhost ~]# ls -lh hch/123.txt

-rw-r--r--. 1 hch1 root 0 12月 21 08:12 hch/123.txt

上例中用到useradd命令,該命令是用來創建一個用戶的。

命令umask

命令umask是用來改變文件的默認權限值的,其格式為:umask xxx(這里xxx表示數字),我們可以在命令行輸umask查看當前的默認值

*若用戶建立普通文件時,則預設沒有可執行權限,只有r、w兩個權限,最大值為666(-rw-rw-rw-)*若用戶建立普通目錄時,則預設所有權限均開放,最大值777(drwxrwxrwx)

umask數值代表的行以為以上兩條規則中的默認值需要減去的權限,所以結果為:

*目錄的權限為rwxrwxrwx - ----w--w-=rwxr-xr-x*普通文件的權限為rw-rw-rw- - ----w--w- =rw-r--r--

以下我們示例使用umask將數值改為002,在看下創建文件或者目錄的時候默認權限

[root@localhost ~]# umask 002

[root@localhost ~]# mkdir hch02

[root@localhost ~]# ls -l

總用量 4

drwxrwxr-x. 2 root root? ? 6 12月 21 08:20 hch02

drwxr-xr-x. 2 root root? 19 12月 20 08:44 hello

-rwxrwxrwx. 1 hch1 hch? ? 0 12月 20 08:36 word1.txt

-rw-r--r--. 1 root root? ? 0 12月 20 08:37 word2.txt

[root@localhost ~]# touch hch123.txt

[root@localhost ~]# ls -lh hch123.txt

-rw-rw-r--. 1 root root 0 12月 21 08:21 hch123.txt

隱藏權限lsattr/chattr

chattr命令

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

*A:增加該屬性后,表示文件或目錄的atime將不可以修改*s:增加該屬性后,會見個數據同步寫入磁盤中*a:增加該屬性后,表示只能追加不能刪除,非root用戶不能設定該屬性*c:增加該屬性后,表示自動壓縮該文件,讀取是會自動解壓*i:增加該屬性后,表示文件不能刪除、重命名、設定鏈接、寫入以及新增數據。

以上參數中a和i連個常用的權限,我們舉例說明示范一下

[root@localhost ~]# chattr +i hch

[root@localhost ~]# touch hch/1234.txt

touch: 無法創建"hch/1234.txt": 權限不夠

[root@localhost ~]# chattr? -i hch

[root@localhost ~]# touch hch/1234.txt

[root@localhost ~]# chattr? +i hch

[root@localhost ~]# rm -f hch/1234.txt

rm: 無法刪除"hch/1234.txt": 權限不夠

示例中,給asklinux2目錄加了i權限后,即使是root用戶,也不能在asklinux2目錄中創建或刪除1.txt。

接下來我們看下a權限的作用

[root@localhost ~]# chattr -i hch

[root@localhost ~]# touch hch/456.txt

[root@localhost ~]# ls -lh hch

總用量 0

-rw-rw-r--. 1 root root 0 12月 21 08:26 1234.txt

-rw-r--r--. 1 hch1 root 0 12月 21 08:26 123.txt

-rw-rw-r--. 1 root root 0 12月 21 08:28 456.txt

[root@localhost ~]# chattr +a hch

[root@localhost ~]# rm -f hch/456.txt

rm: 無法刪除"hch/456.txt": 不允許的操作

[root@localhost ~]# touch hch/789.txt

[root@localhost ~]# ls hch

1234.txt? 123.txt? 456.txt? 789.txt

上例中,asklinux2目錄增加a權限后,只可以在里面創建文件,而不能刪除文件,文件同適用以上權限。

命令lsattr

lsattr命令是用來讀取文件或者目錄的特殊權限,格式為:lsattr[-aR][文件/目錄],我們看下a和R兩個參數的定義

*-a:類似于ls的-a參數,既連同隱藏文件一同列出* -R:連同子目錄的數據一同列出

示例:

[root@localhost ~]# chattr +i hch/456.txt

[root@localhost ~]# chattr +a hch/789.txt

[root@localhost ~]# lsattr hch

---------------- hch/123.txt

---------------- hch/1234.txt

----i----------- hch/456.txt

-----a---------- hch/789.txt

[root@localhost ~]# lsattr -aR hch

-----a---------- hch/.

---------------- hch/..

---------------- hch/123.txt

---------------- hch/1234.txt

----i----------- hch/456.txt

-----a---------- hch/789.txt

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容