在Linux的世界里,一切皆文件,用文件代表了系統(tǒng)的所有數(shù)據(jù)。既然文件那么重要,自然會給文件賦予一定的權(quán)限,要不然每個人都可以亂來,那系統(tǒng)會十分危險。所以文件的所有者會給文件設(shè)定權(quán)限,每個用戶在自己權(quán)限的范圍下做各自的操作。
一、Linux文件權(quán)限
Linux一般將文件可存取的身份分為3類:owner/group/others(即所有者/所屬組/其他),且有四種訪問權(quán)限:可讀(r)、可寫(w)、可執(zhí)行(x)和無權(quán)限(-)。所做的一切都是為了保障數(shù)據(jù)安全,維護(hù)隱私。
1、利用ls -l命令可以看到文件或目錄的權(quán)限
-rwxrw-r--. 1 root root 914 Jul 29 08:21 test
- 10個字符確定不同用戶能對文件干什么
- 第一個字符代表文件(-),目錄(d),鏈接(l)
- 其余字符每3個一組(rwx),讀(r),寫(w),執(zhí)行(x)
- 第一組rwx:文件所有者的權(quán)限是讀、寫和執(zhí)行
- 第二組rw-:與文件所有者同一組的權(quán)限是讀、寫但不能執(zhí)行
- 第三組r--:不與文件所有者,所屬組的其他用戶的權(quán)限是讀、不能寫和執(zhí)行
也可用數(shù)字表示為:r=4,w=2,x=1? 。
- 1 表示連接的文件數(shù)
- root 表示用戶
- root表示用戶所在的組
-?914 表示文件大?。ㄗ止?jié))
- Jul 29 08:21 表示文件建立或這最近的修改時間,月-日-時-分
-?test 表示文件名
二、修改權(quán)限
chmod (改變文件或目錄的訪問權(quán)限)
chmod who opt per file(只有所屬人和root可以更改文件的權(quán)限)
有2種形式:
A.數(shù)字形式: 將rwx換算成數(shù)字,規(guī)則r=4, w=2, x=1,rwx=4+2+1=7; r-x=4+1=5;
chmod 755 abc:賦予abc權(quán)限r(nóng)wxr-xr-x
B: 表達(dá)式的形式:【身份】【操作符】【權(quán)限】
【身份】取值:u(表示所有者);g(所屬組);o(其他);a(表示所有的身份)
【操作符】取值:+ , - ,=;+:添加權(quán)限;-刪除權(quán)限;=賦予權(quán)限
【權(quán)限】取值:r w x 3種權(quán)限的組合
?chmod u-w,g+w,o=rwx test表示owner去掉w權(quán)限,group加上w權(quán)限,others權(quán)限設(shè)置為rwx;
注意:逗號前后不能有空格
chmod a+r test:給所有用戶添加讀的權(quán)限。
chown命令(改變文件的所有者或組)這個命令只有root能使用
格式:chown [選項] 用戶或組 文件名
-R? 文件: 遞歸,修改多級文件的子目錄
:group或 .group? 文件的owner也可以使用chown修改文件的所屬組(owner必須屬于目標(biāo)組)如果屬主為空,應(yīng)該是“:屬組”;如果屬組為空,“:”可以不用帶上。
命令中的冒號可用.替換
chown xiaoxiao abc:改變abc的所有者為xiaoxiao
chown root ./abc:改變abc這個目錄的所有者是root
chown ‐R root ./abc:改變abc這個目錄及其下面所有的文件和目錄的所有者是root
chown –R root:root rootfs 將rootfs文件夾及其子錄的權(quán)限和組均改為root
chgrp命令(改變文件或目錄所屬的用戶組)
chgrp(選項)組名 文件名
該命令用來改變指定文件所屬的用戶組。其中,組名可以是用戶組的id,也可以是用戶組的組名。文件名可以是由空格分開的要改變屬組的文件列表,也可以是由通配符描述的文件集合。如果用戶不是該文件的文件主或超級用戶(root),則不能改變該文件的組。
-R 文件: 遞歸,修改多級文件的子目錄,把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同。
chgrp root abc:改變abc所屬的組為root
三、目錄權(quán)限
目錄權(quán)限的修改和文件權(quán)限修改不同,權(quán)限代表的含義如下:
r:可列出目錄中的內(nèi)容
w:可在目錄中創(chuàng)建、刪除和修改文件
x:可以使用cd命令切換到此目錄
rw:等于只有r
wx:能進(jìn)入,能創(chuàng)建能刪除,不能列出。故用戶能否刪除文件與文件自身權(quán)限無關(guān)。
rx:用戶可以進(jìn)入目錄,且進(jìn)行長列出,不能創(chuàng)建
rwx: 全部權(quán)限
-:沒有任何此目錄的訪問權(quán)限
注意:目錄可以使用通配符"*"來表示目錄中的所有文件,如將/test目錄中的所有文件的權(quán)限設(shè)置為任何人都可以讀寫。
四、指定文件的默認(rèn)權(quán)限掩碼-----umask
權(quán)限掩碼有4個八進(jìn)制的數(shù)字組成。一般來說,新建文件的默認(rèn)值是666,新建目錄的默認(rèn)值是777,可以直接輸入umask命令來檢查目前的默認(rèn)權(quán)限掩碼,或輸入"umask 權(quán)限掩碼"來指定默認(rèn)權(quán)限掩碼。
新建文件默認(rèn)權(quán)限: 666-umask?? 新建目錄默認(rèn)權(quán)限: 777-umask
當(dāng)umask中全部是偶數(shù)時,可以直接減,當(dāng)umask中包含奇數(shù)時,對于目錄直接減,對于文
件,在奇數(shù)所在的位減完后加一。