linxu系統下許可權的管理
-rw-r--r--. 1 root root 0 Oct 27 21:05 file
1 2 3 4 5 6 7 8
1.檔案的型別:
-:普通檔案
d: 目錄
c: 字元裝置
s: 套連字
P: 管道
b: 塊裝置
l: 連線檔案
2. 檔案的許可權(讀 寫 執行)
3:
對檔案來說:檔案內容被系統記錄的次數
對目錄來說:目錄中檔案屬性的位元組數
4.檔案的擁有者
5.檔案的所屬組
6.檔案的內容大小
7.檔案最後一次被修改的時間
8.檔名
#### ls -l file 列出檔案的屬性
ls -dl westos 列出目錄的屬性
####檔案擁有者 錯屬組的管理
chown username file|dir 更改檔案或目錄的擁有者
chown username.groupname file|dir 更改檔案或目錄的擁有者和所屬組
chown -R username dir 更改目錄本身及其內部的擁有者
chgrp username file|dir 更改檔案或目錄的所屬組
chgrp -R dir 更改目錄本身及其內部的所屬組
####檔案的普通許可權
rw-|r--|r--
u g o
1.r
對檔案:可以檢視檔案中的字元(內容)
對目錄: 可以檢視目錄中檔案的資訊
2.w
對檔案:可以更改檔案內的字元
對目錄:可以在目錄中新增/s刪除檔案或目錄
3.x
對檔案:可以執行檔案內記錄的程式的動作
對目錄:可以進入目錄
####字元數字修改檔案的許可權
chmod u-x < u|g|o> <+|-> <r|w|x> file|dir
舉例:
chmod u-x filename filed的擁有者去掉執行許可權
chmod g+w filename file的所屬組加上寫許可權
chmod u-x,g+w fileanme file的擁有者去掉執行許可權,所屬組加上寫許可權
chmod ugo-r fileanme file的擁有者,所屬組,其他人去掉可讀許可權
chmod ug+x,0-r filename file的擁有者,所屬組加上執行許可權,其他人去除刻度許可權
####數字的修改檔案的許可權
在linux中:
r=4,g=2,o=1
檔案許可權的數字表示方式
舉例:rw-| r-- | r--
u g o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以該檔案許可權的表示為:664
chmod 修改後許可權值 filename|dir
chmod 777 file:此時檔名為file的檔案對擁有者,所屬組,其他人都是rwx滿許可權的
7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x 0=---
###系統預設許可權的設定
+++++
檔案系統預設的滿許可權為666
目錄系統預設的滿許可權為777
+++++
臨時設定 檢視系統保留許可權預設為022
umask 077 修改系統保留許可權為007,該設定為臨時設定,只在當前shell中生效(umask的值越大
意味著系統給自己預設保留的許可權越多1對於使用者來說越安全 所以root凡人umask的值大於studen
t使用者的umask值)
永久設定方式:
#### acl訪問控制列表
adl=access control
\指定特殊使用者對特殊檔案的特殊許可權
設定:
setfcal -m <u|g>:<username|groupname>:許可權 檔案(給檔案賦予特殊許可權)
setfcal -m u:student:rwx file
-m:設定
u:使用者
g:組
刪除acl列表中的:username|groupname
set -x <u|g> :<username|groupname> 檔案 |目錄·
關閉acl列表(如果只刪除不關閉通道1那麼通道就一直開放,不安全)
setfacl -b filename|dir
檢視acl操作後文件的資訊
getfacl filename 例如:getfcal test1
注意:
setfcal -m d:u:student:rwx westos(給目錄賦予特殊許可權)
預設許可權支隊目錄中新建的檔案或者目錄生效,對已經建立的檔案無效。對目錄本身也無效
####特殊許可權位###
1.suid 冒險位
只針對二進位制可執行檔案(一段可以執行事務程式碼) 例如:/sur/bin/touch
輸入:which touch 即可檢視該二進位制可執行檔案的程式碼
該操作的作用:檔案內記錄的程式產生的程序的擁有者是這個檔案的擁有者
與程序的發起人無關: 意思就是該檔案的發起人的是student但是檔案的擁有者是root
,檔案touch後,uid依舊是root。
設定方式(root下):chmod u+s file(比如/usr/bin/touch)
suid=4
chmod 4xxx file
2.sgid 強制位
對檔案:只針對二進位制可執行檔案,任何人執行二進位制檔案程式時程式所2產生的程序的
所屬組都是這個檔案的所屬組,和程序的發起人的組無關
對目錄:當目錄擁有sgid許可權後,目錄中新建的檔案的所屬組都自動歸屬到目錄的所屬組
中,和檔案的建立者所在的組無關
設定方式
chmod g+s file|dir (例如/usr/bin/touch)
sgid=2
chmod 2xxx file|dir
3 sticky 貼上位
只針對目錄,當一個目錄擁有t許可權,那麼目錄的檔案只能被檔案的擁有者刪除
設定方式
chmod o+t dir
t=1
chmod 1777 dir