文件權限

在Linux的世界裏,一切皆文件,用文件代表了系統的所有數據。既然文件那麼重要,自然會給文件賦予一定的權限,要不然每個人都可以亂來,那系統會十分危險。所以文件的所有者會給文件設定權限,每個用戶在自己權限的範圍下做各自的操作。

一、Linux文件權限

Linux一般將文件可存取的身份分爲3類:owner/group/others(即所有者/所屬組/其他),且有四種訪問權限:可讀(r)、可寫(w)、可執行(x)和無權限(-)。所做的一切都是爲了保障數據安全,維護隱私。

1、利用ls -l命令可以看到文件或目錄的權限

-rwxrw-r--. 1 root root 914 Jul 29 08:21 test

- 10個字符確定不同用戶能對文件幹什麼

- 第一個字符代表文件(-),目錄(d),鏈接(l)

- 其餘字符每3個一組(rwx),讀(r),寫(w),執行(x)

- 第一組rwx:文件所有者的權限是讀、寫和執行

- 第二組rw-:與文件所有者同一組的權限是讀、寫但不能執行

- 第三組r--:不與文件所有者,所屬組的其他用戶的權限是讀、不能寫和執行

也可用數字表示爲:r=4,w=2,x=1  。

- 1 表示連接的文件數

- root 表示用戶

- root表示用戶所在的組

- 914 表示文件大小(字節)

- Jul 29 08:21 表示文件建立或這最近的修改時間,月-日-時-分

- test 表示文件名

二、修改權限

chmod (改變文件或目錄的訪問權限)

chmod  who  opt  per  file(只有所屬人和root可以更改文件的權限)

有2種形式:

A.數字形式: 將rwx換算成數字,規則r=4, w=2, x=1,rwx=4+2+1=7; r-x=4+1=5;

chmod 755 abc:賦予abc權限rwxr-xr-x

B:  表達式的形式:【身份】【操作符】【權限】

【身份】取值:u(表示所有者);g(所屬組);o(其他);a(表示所有的身份)

【操作符】取值:+ , - ,=;+:添加權限;-刪除權限;=賦予權限

【權限】取值:r w x 3種權限的組合

chmod u-w,g+w,o=rwx  test

表示owner去掉w權限,group加上w權限,others權限設置爲rwx;

注意:逗號前後不能有空格

chmod a+r test:給所有用戶添加讀的權限。

chown命令(改變文件的所有者或組)這個命令只有root能使用

格式:chown [選項] 用戶或組 文件名

-R  文件: 遞歸,修改多級文件的子目錄

:group或 .group  文件的owner也可以使用chown修改文件的所屬組(owner必須屬於目標組)如果屬主爲空,應該是“:屬組”;如果屬組爲空,“:”可以不用帶上。
命令中的冒號可用.替換

1240

chown xiaoxiao abc:改變abc的所有者爲xiaoxiao

chown root ./abc:改變abc這個目錄的所有者是root

chown ‐R root ./abc:改變abc這個目錄及其下面所有的文件和目錄的所有者是root

chown –R root:root rootfs                將rootfs文件夾及其子錄的權限和組均改爲root

chgrp命令(改變文件或目錄所屬的用戶組)

chgrp(選項)組名 文件名

該命令用來改變指定文件所屬的用戶組。其中,組名可以是用戶組的id,也可以是用戶組的組名。文件名可以是由空格分開的要改變屬組的文件列表,也可以是由通配符描述的文件集合。如果用戶不是該文件的文件主或超級用戶(root),則不能改變該文件的組。

-R  文件: 遞歸,修改多級文件的子目錄,把指定文件或目錄的所屬羣組全部設成和參考文件或目錄的所屬羣組相同。

chgrp root abc:改變abc所屬的組爲root

三、目錄權限

目錄權限的修改和文件權限修改不同,權限代表的含義如下:

r:可列出目錄中的內容

w:可在目錄中創建、刪除和修改文件

x:可以使用cd命令切換到此目錄

rw:等於只有r

wx:能進入,能創建能刪除,不能列出。故用戶能否刪除文件與文件自身權限無關。

rx:用戶可以進入目錄,且進行長列出,不能創建

rwx: 全部權限

-:沒有任何此目錄的訪問權限

注意:目錄可以使用通配符"*"來表示目錄中的所有文件,如將/test目錄中的所有文件的權限設置爲任何人都可以讀寫。

四、指定文件的默認權限掩碼-----umask

權限掩碼有4個八進制的數字組成。一般來說,新建文件的默認值是666,新建目錄的默認值是777,可以直接輸入umask命令來檢查目前的默認權限掩碼,或輸入"umask 權限掩碼"來指定默認權限掩碼。

新建文件默認權限: 666-umask   新建目錄默認權限: 777-umask

當umask中全部是偶數時,可以直接減,當umask中包含奇數時,對於目錄直接減,對於文
件,在奇數所在的位減完後加一。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章