首頁 > 運維 > linux運維 > 主體

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

齐天大圣
發布: 2020-09-14 09:31:04
原創
2146 人瀏覽過

檔案預設權限

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

# 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板