Linux文件屬性和權限概述
Linux 系統作為多用戶操作系統,通過文件屬性和權限機制來控制不同用戶對文件和目錄的訪問,從而保證系統的安全性。不同的用戶對同一文件可以有不同的訪問權限,這些權限包括 讀取(read)、寫入(write) 和 執行(execute) 權限。
文件權限的基本構成
文件權限在 Linux 系統中是通過 ls -l
或 ll
命令顯示的。一個典型的文件屬性如下所示:
-rwxr-xr-x 1 root root 4096 Mar 2 10:00 myfile.txt
每一行顯示的屬性信息由以下部分構成:
-
文件類型:第一個字符
-
-
:普通文件 -
d
:目錄 -
l
:符號鏈接 -
b
:塊設備文件 -
c
:字符設備文件
-
-
文件權限:接下來的9個字符,分為三個部分,每部分三位(rwx)。每個部分表示文件的訪問權限。
-
第一組:屬主權限(owner)
-
第二組:屬組權限(group)
-
第三組:其他用戶權限(others)
每個權限的位置對應如下:
-
r 表示可讀權限 (read)
-
w 表示可寫權限 (write)
-
x 表示可執行權限 (execute)
-
如果沒有相應權限,顯示為 -。
例如,
-rwxr-xr-x
表示:-
屬主有讀、寫、執行權限(rwx)
-
屬組有讀和執行權限(r-x)
-
其他用戶有讀和執行權限(r-x)
-
文件的屬主與屬組
-
文件屬主(Owner):是該文件的所有者,對文件具有完全的控制權。
-
文件屬組(Group):文件的所有者所在的用戶組。與屬主同組的其他用戶有某些權限。
-
其他用戶(Others):文件所有者和同組用戶之外的其他用戶。
例如,在文件權限 drwxr-xr-x
中,屬主是 root
,屬組也是 root
,文件有以下權限:
-
屬主(root):讀、寫、執行權限
-
屬組(root):讀、執行權限
-
其他用戶:讀、執行權限
常用命令及其功能
-
chown
:改變文件的屬主或屬組-
語法:
chown [選項] 新屬主[新屬組] 文件名
-
示例:
-
改變文件屬主:
chown bin myfile.txt
-
同時改變屬主和屬組:
chown bin:users myfile.txt
-
-
-
chgrp
:改變文件的屬組-
語法:
chgrp [選項] 新屬組 文件名
-
示例:
chgrp admin myfile.txt
-
-
chmod
:改變文件的權限-
數字方式:
-
r
(讀) = 4 -
w
(寫) = 2 -
x
(執行) = 1 -
使用這些數字可以指定權限。例如:
rwx
為7
,r-x
為5
。 -
示例:給文件
myfile.txt
設置權限:chmod 755 myfile.txt
755
表示屬主有讀、寫、執行權限,屬組和其他用戶有讀、執行權限。
-
-
符號方式:
-
u
:用戶(屬主) -
g
:組 -
o
:其他 -
a
:所有(即 u、g、o) -
+
:增加權限 -
-
:刪除權限 -
=
:設置權限 -
示例:
-
增加執行權限:
chmod +x myfile.txt
-
刪除寫權限:
chmod -w myfile.txt
-
-
-
文件權限的示例
假設我們有一個文件,權限為 -rwxr-xr--
:
-
屬主(user)有讀、寫、執行權限(rwx)。
-
屬組(group)有讀、執行權限(r-x)。
-
其他用戶(others)有讀權限(r--)。
如果想要修改權限為 -rwxr-xr--
(用戶可讀、寫、執行;組可讀、執行;其他用戶可讀),可以使用以下命令:
chmod u=rwx,g=rx,o=r myfile.txt
遞歸更改權限
使用 -R
選項可以遞歸地改變目錄及其所有子文件的權限。例如:
chmod -R 755 mydirectory/
這將把 mydirectory
目錄及其下所有文件的權限設置為 rwxr-xr-x
。
總結
-
文件類型:通過第一個字符(例如
d
、-
、l
)來標識。 -
文件權限:由9個字符組成,分為三組(屬主、屬組、其他用戶),每組分別表示讀、寫、執行權限。
-
文件屬主和屬組:文件有一個所有者和一個屬組,系統通過這些信息控制文件訪問。
-
命令使用:
chown
用于更改文件所有者,chgrp
用于更改屬組,chmod
用于更改權限。
理解和管理這些文件屬性和權限是 Linux 系統管理的重要組成部分,它確保了系統的安全性與文件的正確訪問控制。