熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2015-09-22 14:57:12 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150922/58338.html 手機查看 評論 反饋
Linux系統(tǒng)不同文件之中,有不同的權(quán)限。這是為了文件存儲的時候的安全考慮,也是為了讓Linux各個模塊間更加順暢的訪問和調(diào)度。本文為大家?guī)?a href="http://www.legolfclassic.com/xtjc/20150803/54517.html" target="_blank">Linux系統(tǒng)文件權(quán)限和訪問模式介紹。
權(quán)限
所有者權(quán)限 u :文件所有者能夠進行的操作
組權(quán)限 g :文件所屬用戶組能夠進行的操作
外部權(quán)限 o :(其他權(quán)限):其他用戶可以進行的操作。
查看文件權(quán)限
使用 ls -l 命令可以查看與文件權(quán)限相關(guān)的信息:
$ls -l /home/amrood
-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfile
drwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
第一列就包含了文件或目錄的權(quán)限。
第一列的字符可以分為三組,每一組有三個,每個字符都代表不同的權(quán)限,分別為讀。╮)、寫入(w)和執(zhí)行(x):
第一組字符(2-4)表示文件所有者的權(quán)限,-rwxr-xr-- 表示所有者擁有讀。╮)、寫入(w)和執(zhí)行(x)的權(quán)限。
第二組字符(5-7)表示文件所屬用戶組的權(quán)限,-rwxr-xr-- 表示該組擁有讀。╮)和執(zhí)行(x)的權(quán)限,但沒有寫入權(quán)限。
第三組字符(8-10)表示所有其他用戶的權(quán)限,rwxr-xr-- 表示其他用戶只能讀。╮)文件。
文件訪問模式
文件權(quán)限是Linux系統(tǒng)的第一道安全防線,基本的權(quán)限有讀。╮)、寫入(w)和執(zhí)行(x):
讀取r:用戶能夠讀取文件信息,查看文件內(nèi)容。
寫入w:用戶可以編輯文件,可以向文件寫入內(nèi)容,也可以刪除文件內(nèi)容。
執(zhí)行x:用戶可以將文件作為程序來運行。
目錄訪問模式
目錄的訪問模式和文件類似,但是稍有不同:
讀取r:用戶可以查看目錄中的文件
寫入w:用戶可以在當(dāng)前目錄中刪除文件或創(chuàng)建文件
執(zhí)行x:執(zhí)行權(quán)限賦予用戶遍歷目錄的權(quán)利,例如執(zhí)行 cd 和 ls 命令。
改變權(quán)限
可以使用 chmod (change mode) 命令來改變文件或目錄的訪問權(quán)限,權(quán)限可以使用符號或數(shù)字來表示。
使用符號表示權(quán)限
對于初學(xué)者來說最簡單的就是使用符號來改變文件或目錄的權(quán)限,你可以增加(+)和刪除(-)權(quán)限,也可以指定特定權(quán)限。
符號 說明
+ 為文件或目錄增加權(quán)限
- 刪除文件或目錄的權(quán)限
= 設(shè)置指定的權(quán)限
下面的例子將會修改 testfile 文件的權(quán)限:
$ls -l testfile
-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
$chmod o+wx testfile
$ls -l testfile
-rwxrwxrwx 1 amrood users 1024 Nov 2 00:10 testfile
$chmod u-x testfile
$ls -l testfile
-rw-rwxrwx 1 amrood users 1024 Nov 2 00:10 testfile
$chmod g=rx testfile
$ls -l testfile
-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
也可以同時使用多個符號:
$chmod o+wx,u-x,g=rx testfile
$ls -l testfile
-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
使用數(shù)字表示權(quán)限
除了符號,也可以使用八進制數(shù)字來指定具體權(quán)限,如下表所示:
數(shù)字 說明 權(quán)限
0 沒有任何權(quán)限 ---
1 執(zhí)行權(quán)限 --x
2 寫入權(quán)限 -w-
3 執(zhí)行權(quán)限和寫入權(quán)限:1 (執(zhí)行) + 2 (寫入) = 3 -wx
4 讀取權(quán)限 r--
5 讀取和執(zhí)行權(quán)限:4 (讀。 + 1 (執(zhí)行) = 5 r-x
6 讀取和寫入權(quán)限:4 (讀取) + 2 (寫入) = 6 rw-
7 所有權(quán)限: 4 (讀。 + 2 (寫入) + 1 (執(zhí)行) = 7 rwx
下面的例子,首先使用 ls -1 命令查看 testfile 文件的權(quán)限,然后使用 chmod 命令更改權(quán)限:
$ls -l testfile
-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
$ chmod 755 testfile
$ls -l testfile
-rwxr-xr-x 1 amrood users 1024 Nov 2 00:10 testfile
$chmod 743 testfile
$ls -l testfile
-rwxr---wx 1 amrood users 1024 Nov 2 00:10 testfile
$chmod 043 testfile
$ls -l testfile
----r---wx 1 amrood users 1024 Nov 2 00:10 testfile
更改所有者和用戶組
在Linux中,每添加一個新用戶,就會為它分配一個用戶ID和群組ID,上面提到的文件權(quán)限也是基于用戶和群組來分配的。
有兩個命令可以改變文件的所有者或群組:
chown:chown 命令是“change owner”的縮寫,用來改變文件的所有者。
chgrp:chgrp 命令是“change group”的縮寫,用來改變文件所在的群組。
chown 命令用來更改文件所有者,其語法如下:
$ chown user filelist
user 可以是用戶名或用戶ID,例如
$ chown amrood testfile
$
將 testfile 文件的所有者改為 amrood。
注意:超級用戶 root 可以不受限制的更改文件的所有者和用戶組,但是普通用戶只能更改所有者是自己的文件或目錄。
chgrp 命令用來改變文件所屬群組,其語法為:
$ chgrp group filelist
group可以是群組名或群組ID,例如
$ chgrp special testfile
$
將文件 testfile 的群組改為 special。
SUID和SGID位
在Linux中,一些程序需要特殊權(quán)限才能完成用戶指定的操作。
例如,用戶的密碼保存在 /etc/shadow 文件中,出于安全考慮,一般用戶沒有讀取和寫入的權(quán)限。但是當(dāng)我們使用 passwd 命令來更改密碼時,需要對 /etc/shadow 文件有寫入權(quán)限。這就意味著,passwd 程序必須要給我們一些特殊權(quán)限,才可以向 /etc/shadow 文件寫入內(nèi)容。
Linux 通過給程序設(shè)置SUID(Set User ID)和SGID(Set Group ID)位來賦予普通用戶特殊權(quán)限。當(dāng)我們運行一個帶有SUID位的程序時,就會繼承該程序所有者的權(quán)限;如果程序不帶SUID位,則會根據(jù)程序使用者的權(quán)限來運行。
SGID也是一樣。一般情況下程序會根據(jù)你的組權(quán)限來運行,但是給程序設(shè)置SGID后,就會根據(jù)程序所在組的組權(quán)限運行。
如果程序設(shè)置了SUID位,就會在表示文件所有者可執(zhí)行權(quán)限的位置上出現(xiàn)‘s’字母;同樣,如果設(shè)置了SGID,就會在表示文件群組可執(zhí)行權(quán)限的位置上出現(xiàn)‘s’字母。如下所示:
$ ls -l /usr/bin/passwd
-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*
$
上面第一列第四個字符不是‘x’或‘-’,而是‘s’,說明 /usr/bin/passwd 文件設(shè)置了SUID位,這時普通用戶會以root用戶的權(quán)限來執(zhí)行passwd程序。
注意:小寫字母‘s’說明文件所有者有執(zhí)行權(quán)限(x),大寫字母‘S’說明程序所有者沒有執(zhí)行權(quán)限(x)。
如果在表示群組權(quán)限的位置上出現(xiàn)SGID位,那么也僅有三類用戶可以刪除該目錄下的文件:目錄所有者、文件所有者、超級用戶 root。
為一個目錄設(shè)置SUID和SGID位可以使用下面的命令:
$ chmod ug+s dirname
$ ls -l
drwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname
$
以上就是Linux系統(tǒng)文件權(quán)限和訪問模式的解析了,只要充分了解了Linux系統(tǒng)文件權(quán)限才能了解Linux文件之間的訪問模式。
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場