檔案預設權限
當我們建立一個檔案時,這個檔案預設就會被設定預設權限。
# 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中文網其他相關文章!