“linux的宗旨是:一切皆檔案~今天給大家介紹一下檔案權限” |

1、檔案類型共七種:
d 目錄
l 符号連結(軟硬連接配接)
s 套接字檔案
b 塊裝置檔案
c 字元裝置檔案
p 命名管道檔案
- 普通檔案,或者更準确的說,不屬于以上幾種類型的檔案
2、 檔案權限設定
chmod [who] operator [permission] filename
who的含義:
u 檔案屬主權限
g 同組使用者權限
o 其他使用者權限
a 所有使用者(u+g+o)
operator的含義:
+ 增權重限
- 取消權限
= 設定權限
permission的含義:
r 讀權限
w 寫權限
x 執行權限
t 粘性位*
l 給檔案加鎖,使其他使用者無法通路
u.g.o 針對檔案屬主,同組使用者以及其他使用者的操作
粘性位“t” 如果在一個目錄上出現“t”位,那麼表示該目錄隻有其屬主才可以删除;如果出現在檔案清單,那麼意味着該腳本或者程式在執行時會被放在交換區(虛存)
修改權限(符号模式):
chmod u+x hello.py
chmod +w hello.py
chmod -R +x runall.sh : -R 表示遞歸修改,包括該檔案夾下的子檔案
修改權限(絕對模式,不同數字代表不同權限):
chmod 664 hello.py
chmod 777 *
<<< 絕對模式下,用數字代替相應的權限位,可讀用數字4,可寫用數字2,可執行用數字1表示,修改同一個使用者(u或者g或者o)權限隻需要将對應的權限位的值相加:比如,6代表可讀可寫。
<<<修改多個使用者的不同權限需要多個數字一并設定,第一個數字代表屬主使用者,第二個數字代表同組使用者,第三個數字代表其他使用者:比如,664代表屬主使用者可讀可寫,同組使用者可讀可寫,其他組可讀
在絕對模式下修改權限應該有四位數字664其實是0664。第一位是設定suid和guid的,一旦設定了該位,那麼在可執行權限位x上會出現一個s:suid(權限數字4)意味着如果某個使用者對屬于自己的shell腳本設定了這種權限,那麼其他使用者在執行這一腳本時也會具有其屬主相應的權限;guid(權限數字2)意味着執行相應的腳本的使用者将具有該檔案所屬使用者組中使用者的權限。
修改檔案所屬:
文法: chown -R -h owner file
-R意味着對所有子目錄下的檔案做同樣的修改; -h意味着在改變符号連結檔案的屬主時不影響該連結所指向的目标檔案。
chown root hello.py :将hello.py檔案的所屬修改為root
修改檔案所在組:
文法類似于chown
chgrp root hello.py :将hello.py檔案所在組修改為root
建立檔案預設權限:
umask指令确定建立檔案的預設權限,一般umask在/etc/profile檔案中設定,每個使用者登入時會引用該檔案,如果設定umask,那麼可以在$HOME下的.profile或者bash_profile檔案中儲存。
本文位址:https://www.linuxprobe.com/linux-file-right.html