首頁  >  文章  >  運維  >  linux系統下檔案的預設權限以及隱藏屬性的作用

linux系統下檔案的預設權限以及隱藏屬性的作用

齐天大圣
齐天大圣原創
2020-09-13 16:00:242158瀏覽

檔案預設權限

當我們建立一個檔案時,這個檔案預設就會被設定預設權限。

# touch 1.txt
# ls -l 1.txt 
-rw-r--r-- 1 root root 0 Sep 13 14:48 1.txt

# mkdir abc
# ll -d abc
drwxr-xr-x 2 root root 4096 Sep 13 14:51 abc

可以看到,新建立的檔案權限為644,目錄權限為755。那這個644是怎麼來的呢?原來系統會給新建立的檔案預設權限,這個預設權限可以透過umask來查看。

# umask
0022

# umask -S
u=rwx,g=rx,o=rx

透過umask -S查看的權限即為新建立目錄的預設權限,如果新建立的檔案類型是檔案的話,則需要減去x權限,所以新檔案的預設權限是644(rw -r-xr-x)

我們也可以透過umask來修改檔案的預設權限

umask 770

檔案隱藏屬性

不知道大家用過寶塔沒,當我們透過寶塔新建一個網站的時候,寶塔預設會在網站的根目錄下建立一個.user.ini檔案。這個檔案很奇怪,即使你是root用戶,想要刪除它也辦不到。會出現下面的提示訊息:

# rm -f .user.ini 
rm: cannot remove ‘.user.ini’: Operation not permitted

這裡我們要講下另一個概念,檔案的隱藏屬性,為什麼叫隱藏屬性呢?因為你透過ls -l是看不出這個檔案有什麼不一樣的。

# ll .user.ini 
-rw-r--r-- 1 root root 51 Sep  5 18:48 .user.ini

想要看出蹊蹺,就需要使用lsattr來查看

# lsattr .user.ini 
----i--------e-- .user.ini

這裡,我們需要記住幾個字元的意思:

  • i表示系統不允許對這個檔案做任何的修改。如果目錄具有這個屬性,那麼任何的程序只能修改目錄之下的文件,不允許建立和刪除文件。

  • a表示系統只允許在這個檔案之後追加數據,不允許任何進程覆蓋或截斷這個檔案。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。

所以,如果我們想要刪除這個檔案就需要修改它的隱藏屬性。透過chattr可以做到。

# chattr -i .user.ini 
# rm -f .user.ini  <===删除成功了

以上是linux系統下檔案的預設權限以及隱藏屬性的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn