1. 程式人生 > >Linux文件屬性和權限管理

Linux文件屬性和權限管理

color file chang x文件 增加 也會 需要 png 限時

Linux系統為多用戶系統,分為三種不同類型的用戶:

1. 所有者(User): 文件的擁有者,即創建文件的用戶。

2. 同組用戶(Group): 與所有者同一組的用戶。

3. 其他用戶(Others): 除了所有者和同組用戶外的其他用戶。

一、查看文件屬性和權限

Linux系統下,文件的權限有三種: 讀、寫、執行。

查看文件的權限(和文件的其他屬性)

ls -al   (可簡寫為 ll)   #隱藏文件(文件名或目錄名第一個字符為 . 的文件)也會顯示

技術分享圖片

第一列即為該文件的類型和權限,總共有10個字符位:

第 1 個字符位:表示文件的類型, d 表示目錄; - 表示文件; l 表示鏈接文件; b 表示塊設備文件,如硬盤;

c 表示字符設備文件; p 表示命名管道文件; s 表示套接字文件。常見的也就目錄 d 和文件 -

第2-4個字符位:表示所有者的權限,分別為讀(r)、寫(w)、執行(x),- 表示沒有該權限

第5-7個字符位:表示同組用戶的權限,分別為讀(r)、寫(w)、執行(x)

第8-10個字符位:表示其他用戶的權限,分別為讀(r)、寫(w)、執行(x)

二、改變文件屬性和權限

1. chgrp:即 change group 的簡寫。改變文件所屬群組。

chgrp [-R] groupname dirname/filename 

# -R 表示遞歸該目錄下的所有子目錄和文件

例子:修改文件test.py的所屬組為 users,該組名不存在則報錯

chgrp users test.py 

2. chown:即change owner 的簡寫。改變文件所有者,此外,還可以順便修改所屬組。

chown [-R] ownername dirname/filename

例子:修改文件test.py的所有者為 delav

chown delav test.py

#順便修改所屬組為root
chown delav:root test.py

3. chmod:改變文件權限

第一種方法:使用數字

chmod [-R] xyz dirname/filename

Linux文件的基本權限有9個,分別是 user/group/others 三種身份擁有各自的 read/write/execute 權限。

這三種權限可以使用數字來表示:

read: 4

write: 2

execute: 1

當使用數字來表示權限時,每一種身份各自的權限數字代表需要累加,最大數字為 7

例如:

user = rwx = 4+2+1 = 7
group = r-x = 4+0+1 = 5
others = --- = 0+0+0 = 0

改變文件test.py的權限為上面的,即為

chmod 750 test.py

第二種方法:使用字符

三種身份 user/group/others 使用字符表示:

user: u

group: g

others : o

all : a (全部身份)

三種權限 read/write/execute 使用字符表示:

read: r

write: w

execute: x

技術分享圖片

例如:

設置文件test.py的權限為 750

chmod u=rwx,g=rx,o=--- test.py

chmod u=rwx,g=rx,o-rwx test.py

設置文件test.py的權限為 755

chmod w=rwx,go=rx

把所有的執行權限去除,增加群組的寫權限

chmod u-x,g+w test.py

把所有人的寫權限去除

chmod a-w test.py

三、目錄和文件的權限意義

對於文件,rwx是針對【文件的內容】來設計權限。

read(r):可讀取文件的實際內容

write(w):可修改文件內容

execute(x):可被系統執行

對於目錄,rwx是針對【目錄內的文件名列表】來設計權限。

read(r):可讀取目錄的文件列表,即查詢該目錄下的文件名數據

write(w):可在該目錄下新建文件或目錄;可刪除該目錄下文件或目錄;可重命名該目錄下的文件或目錄;可移該目錄下的文件或目錄

execute(x):可進入該目錄進行操作

技術分享圖片

Linux文件屬性和權限管理