Linux系統中的每個文件和目錄都有訪問許可權限,本文內容爲用戶組、組命令及文件權限詳解
用戶組
Linux 系統中的目錄和文件的訪問身份分爲user
, group
,others
,all
,分別簡寫爲u
,g
,o
,a
- user 是文件的所有者
- group 是文件所有者所在組的其他成員
- others 就是不在所有者的所在組的其他用戶
- all 代表所有用戶
當某個用戶創建了一個文件後,這個文件的所有者爲該用戶、所在組則爲該用戶所在的組(直至所有者或所在組被修改)
組命令
修改文件屬性的常用命令
chgrp
chgrp
命令用於變更文件或目錄的所屬羣組
chgrp [OPTION]… GROUP FILE…
chgrp [參數]… [所在組] 文件或目錄
將文件的所在組修改爲www
chgrp www install.sh
chown
chown
命令用於改變文件擁有者
chown [OPTION]… [OWNER][:[GROUP]] FILE…
chown [參數]… [所有者][:[所在組]] 文件或目錄
將文件的所有者及所在組修改爲www
chown www:www install.sh
chmod
Linux/Unix 的文件調用權限分爲三級: 文件擁有者、羣組、其他。利用chmod
可以藉以控制文件如何被他人所調用。
使用權限: 所有使用者
chmod [OPTION]… MODE[,MODE]… FILE…
chown [參數]… [模式][,模式] 文件或目錄
詳細操作見下方文件權限
umask
umask
可用來設定[權限掩碼]。[權限掩碼]是由3個八進制的數字所組成,將現有的存取權限減掉權限掩碼後,即可產生建立文件時預設的權限。
umask [-S][權限掩碼]
當前的存取權限
umask -S
u=rwx,g=rwx,o=rx
umask爲002,減掉權限掩碼後,當前的存取權限即爲775(
u=rwx,g=rwx,o=rx
)
文件權限
Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的權限。爲了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。
在Linux中我們可以使用ll
或者ls –l
命令來顯示一個文件的屬性以及文件所屬的用戶和組,如:
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2018 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2018 boot
- 第一個字符代表這個文件的類型(如目錄、文件或鏈接文件等等):
- 當爲[
d
]則是目錄 - 當爲[
-
]則是文件 - 若是[
l
]則表示爲連結檔(link file); - 若是[
b
]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置); - 若是[
c
]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)
- 當爲[
- 接下來的字符中,以三個爲一組,且均爲『
rwx
』的三個參數的組合
([r
]代表可讀(read)、[w
]代表可寫(write)、[x
]代表可執行(execute) 若無權限,則爲減號[-
])- 第一組爲『文件擁有者的權限』
- 第二組爲『同羣組的權限』
- 第三組爲『其他非本羣組的權限』
修改文件權限
修改文件的權限用命令chmod
來執行 , 有兩種權限定義方式: 數據方式和符號方式
數字方式修改文件權限
read®:4、write(w):2、execute(x):1
權限設置爲
- 所有者可讀可寫可以執行
- 同組可讀可執行不可寫
- 其他組的用戶可讀
此時符號權限爲-rwxr-xr--
,則權限的分數應爲[4+2+1][4+0+1][4+0+0]=754
chmod 754 install.sh
符號方式修改文件權限
權限設置爲-rwxr-xr--
,同上數字方式
chmod u=rwx,g=rx,o=r install.sh
其他組用戶刪除可讀權限
chmod o-r install.sh
所有用戶增加執行權限
chmod a+x install.sh
特殊權限SUID, SGID, SBIT:
…
參考資料: