新聞中心
Linux是一個廣泛使用的操作系統(tǒng),它以穩(wěn)定性、安全性和可定制性而聞名。然而,Linux的安全性并不是默認(rèn)開啟的。要使Linux系統(tǒng)安全,就需要了解和掌握Linux權(quán)限機制。其中一個重要的權(quán)限是rws權(quán)限,本文將深入剖析rws權(quán)限的作用和用法,幫助讀者掌握Linux文件操作的精髓。

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點上千多家。
一、rws權(quán)限的概念和特點
rws是Linux文件權(quán)限中的一種,它是與set-UID和set-GID(SUID和SGID)特性相關(guān)聯(lián)的權(quán)限。SUID和SGID是授予執(zhí)行權(quán)限和組權(quán)限的一種特殊權(quán)限。SUID使得一個文件在被執(zhí)行時擁有文件所有者的權(quán)限,而SGID則使得一個文件在被執(zhí)行時擁有文件所在組的權(quán)限。SUID和SGID通常與可執(zhí)行文件相關(guān)聯(lián),使得某些程序在執(zhí)行時可以獲得超級權(quán)限,比如管理員權(quán)限。
rws權(quán)限是rwx權(quán)限中的一種特殊形式,即在執(zhí)行權(quán)限(x)的位置上,將其替換為s。rws權(quán)限的全稱是set-UID、set-GID和可執(zhí)行(即rwx權(quán)限)。使用rws權(quán)限賦予文件的執(zhí)行者以文件所有者和文件所在組的權(quán)限,這使得這個文件可以在執(zhí)行期間以這些權(quán)限運行程序。rws權(quán)限還是一種持久性的權(quán)限,即一旦授予某個文件,持續(xù)有效,不會因為文件移動或者復(fù)制而失效。
二、rws權(quán)限的使用方法和注意事項
1. rws權(quán)限設(shè)置方法:使用chmod命令將文件的執(zhí)行權(quán)限設(shè)置為rws權(quán)限即可。例如:
chmod 4774 filename
其中4表示SUID,即set-UID;7表示rwx權(quán)限,即讀、寫、執(zhí)行權(quán)限。因此,4774表示文件的所有者擁有讀、寫、執(zhí)行等權(quán)限,并且將set-UID設(shè)置為開啟狀態(tài)。
2. rws權(quán)限的設(shè)置需要謹(jǐn)慎。因為rws權(quán)限給予執(zhí)行者極高的權(quán)限,不當(dāng)使用會導(dǎo)致系統(tǒng)不安全。因此,應(yīng)該僅在必要時才使用rws權(quán)限,同時,必須對使用rws權(quán)限進行嚴(yán)格的限制和控制。
3. 建議使用SGID來替代SUID,因為SGID只賦予執(zhí)行者所在組的權(quán)限,比SUID更安全。
4. rws權(quán)限默認(rèn)只出現(xiàn)在二進制文件和命令文件中,而不出現(xiàn)在普通文件和目錄中。因此,普通文件和目錄中存在rws權(quán)限會被認(rèn)為是異常操作,會被系統(tǒng)自動拒絕。
5. 在使用rws權(quán)限時,應(yīng)該了解文件所在目錄的權(quán)限。如果文件所在的目錄擁有其他用戶讀寫權(quán)限,那么執(zhí)行者就可以改變文件所在目錄的所有權(quán),因此,應(yīng)該對目錄的權(quán)限進行嚴(yán)格限制。
三、rws權(quán)限的實際應(yīng)用
rws權(quán)限在Linux系統(tǒng)中有著廣泛的應(yīng)用,下面列出幾個常見的應(yīng)用場景。
1. passwd命令:passwd命令是Linux系統(tǒng)中用于更改用戶密碼的命令。passwd命令被設(shè)置為擁有rws權(quán)限,這使得普通用戶也可以更改自己的密碼,并且在更改密碼時不需要以超級用戶身份登錄系統(tǒng)。
2. ping命令:ping命令是用于查看網(wǎng)絡(luò)連接的命令。在Linux系統(tǒng)中,ping命令被設(shè)置為擁有rws權(quán)限,這使得用戶可以在不擁有管理員權(quán)限的情況下查看網(wǎng)絡(luò)連接情況。
3. ps命令:ps命令是Linux系統(tǒng)中用于查看進程信息的命令。因為查看進程信息需要訪問系統(tǒng)內(nèi)核,所以ps命令被設(shè)置為擁有rws權(quán)限,這使得用戶可以在不擁有管理員權(quán)限的情況下查看系統(tǒng)進程信息。
4. su命令:su命令是Linux系統(tǒng)中用于切換用戶身份的命令。su命令雖然擁有管理員權(quán)限,但是還需要輸入正確的密碼才能切換到管理員身份。su命令需要擁有rws權(quán)限來實現(xiàn)身份切換。
四、
rws權(quán)限是一種特殊的文件權(quán)限。它與set-UID和set-GID(SUID和SGID)特性相聯(lián),可以賦予執(zhí)行者文件所有者和文件所在組的權(quán)限,使得這個文件可以在執(zhí)行期間以這些權(quán)限運行程序。rws權(quán)限的使用需要非常謹(jǐn)慎。合理使用rws權(quán)限可以增強Linux系統(tǒng)的安全性,保護用戶的權(quán)益。本文詳細(xì)介紹了rws權(quán)限的概念、特點、使用方法和注意事項,以及在Linux系統(tǒng)中的應(yīng)用場景,希望對讀者在學(xué)習(xí)Linux權(quán)限管理和文件操作方面有所啟發(fā)。
相關(guān)問題拓展閱讀:
- linux 中文件屬性 權(quán)限 可讀可寫可執(zhí)行 -rwx read write 這里x代表什么
- Linux中chmod中的 permission(r,w,x,s,t) 里的s和t代表什么意思呢
- Linux特殊權(quán)限o+t的問題
linux 中文件屬性 權(quán)限 可讀可寫可執(zhí)行 -rwx read write 這里x代表什么
一、文件權(quán)限解讀
如上圖所示,開頭的-rwxrw-r–這一字符串標(biāo)識文件權(quán)限。
這個字符串有10位,可以分為4段塌斗攔來解讀。注:r–可讀,w–可寫,x–可執(zhí)行。
之一段(第1位)表示是目錄還是文件,-表示是文件,d表示是目錄;
第二段(第2-4位,共3個字符串)表示文件所屬用戶對它的權(quán)限;
第三段(第5-7位,共3個字符串)表示文件所屬用戶組用戶對它的權(quán)限;
第四段(第8-10位,共3個字符串)表示其他用戶對它的權(quán)限;
注:我們用3位8進制來表示文件的權(quán)限,r用4標(biāo)識,w用2標(biāo)識,x用1標(biāo)識
上圖中的-rwxrw-r–可以用八進制數(shù)字764表示。
橫線代表空許可。r代表只讀,w代表寫,x代表可執(zhí)行。注意這里共有10個位置。之一個字符指定了文件類型。在通常意義上,一個目錄也是一個文件。如果之一個字符是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。
例如:
rwx rwr–
普通文件 文件主 組用戶 其他用戶
之一段-表示hadoop-2.6.0.tar.gz是一個普通文件;第二段rwx表示hadoop-2.6.0.tar.gz的屬主有讀寫可執(zhí)行權(quán)限;第三段rw-表示與hadoop-2.6.0.tar.gz屬主同組的用戶有讀寫權(quán)限;第四段r–表示其他用戶只有讀權(quán)限。
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創(chuàng)建者銷此。所有者可以允許同組用戶有權(quán)訪問文件,還可以將文件的訪問權(quán)限賦予系統(tǒng)中的其他用戶。在這種情況下,系統(tǒng)中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問權(quán)限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執(zhí)行權(quán)限;與屬主同組的用戶的讀、寫和執(zhí)行權(quán)限;系統(tǒng)中其他用戶的讀、寫和執(zhí)行權(quán)限。
二、chmod,chown,chgrp命令的用法
確定了一個文件的訪問權(quán)限后,用戶可以利用Linux系統(tǒng)提供的chmod命令來重新設(shè)定不同的訪問權(quán)限。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用于改變文件或目錄的訪問權(quán)限。用戶用它控制文件或目錄的訪問權(quán)限。
該命令有兩種用法。一種是包含字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。
1. 文字設(shè)定法
chmod [who] [+ | – | =] [mode] 文件名?
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示“用戶(user)”,即文件或目錄的所有者。
g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。
o 表示“其他(others)用戶”。
a 表示“所有(all)用戶”。它是系統(tǒng)默認(rèn)值。
操作符號可以是:
+ 添加某個權(quán)限。
– 取消某個權(quán)限。
= 賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)。
設(shè)置mode所表示的權(quán)限可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執(zhí)行。
X 只有目標(biāo)文件對某些用戶是可執(zhí)行的或該目標(biāo)文件是目錄時才追加x 屬性。
s 在文件執(zhí)行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設(shè)置文件的用戶ID位,“g+s”設(shè)置組ID位。
t 保存程序的文本到交換設(shè)備上。
u 與文件屬主擁有一團胡樣的權(quán)限。
g 與和文件屬主同組的用戶擁有一樣的權(quán)限。
o 與其他用戶擁有一樣的權(quán)限。
文件名:以空格分開的要改變權(quán)限的文件列表,支持通配符。
在一個命令行中可給出多個權(quán)限方式,其間用逗號隔開。例如:chmod g+r,o+r example
使同組和其他用戶對文件example 有讀權(quán)限。
2. 數(shù)字設(shè)定法
我們必須首先了解用數(shù)字表示的屬性的含義:0表示沒有權(quán)限,1表示可執(zhí)行權(quán)限,2表示可寫權(quán)限,4表示可讀權(quán)限,然后將其相加。所以數(shù)字屬性的格式應(yīng)為3個從0到7的八進制數(shù),其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有“讀/寫”二種權(quán)限,需要把4(可讀)+2(可寫)=6(讀/寫)。
數(shù)字設(shè)定法的一般形式為:
chmod [mode] 文件名?
例子:
(1)文字設(shè)定法:
例1:$ chmod a+x sort
即設(shè)定文件sort的屬性為:
文件屬主(u) 增加執(zhí)行權(quán)限
與文件屬主同組用戶(g) 增加執(zhí)行權(quán)限
其他用戶(o) 增加執(zhí)行權(quán)限
例2:$ chmod ug+w,o-x text
即設(shè)定文件text的屬性為:
文件屬主(u) 增加寫權(quán)限
與文件屬主同組用戶(g) 增加寫權(quán)限
其他用戶(o) 刪除執(zhí)行權(quán)限
例3:$ chmod u+s a.out
假設(shè)執(zhí)行chmod后a.out的權(quán)限為(可以用ls – l a.out命令來看):
–rws–x–x 1 inin users 7192 Nov 4 14:22 a.out
并且這個執(zhí)行文件要用到一個文本文件shiyan1.c,其文件存取權(quán)限為“–rw”,即該文件只有其屬主具有讀寫權(quán)限。
當(dāng)其他用戶執(zhí)行a.out這個程序時,他的身份因這個程序暫時變成inin(由于chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設(shè)定為其他人不具備任何權(quán)限),這就是s的功能。
因此,在整個系統(tǒng)中特別是root本身,更好不要過多的設(shè)置這種類型的文件(除非必要)這樣可以保障系統(tǒng)的安全,避免因為某些程序的bug而使系統(tǒng)遭到入侵。
例4:$ chmod a–x mm.txt
$ chmod –x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執(zhí)行權(quán)限刪除,它設(shè)定的對象為所有使用者。
(2)數(shù)字設(shè)定法:
例1: $ chmod 644 mm.txt
$ ls –l
即設(shè)定文件mm.txt的屬性為:
-rw-r–r– 1 inin users 1155 Nov 5 11:22 mm.txt
文件屬主(u)inin 擁有讀、寫權(quán)限
與文件屬主同組人用戶(g) 擁有讀權(quán)限
其他人(o) 擁有讀權(quán)限
例2: $ chmod 750 wch.txt
$ ls –l
-rwxr-x— 1 inin usersNov 12 9:22 wchtxt
即設(shè)定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執(zhí)行權(quán)
與文件主同組人(g) 可讀/可執(zhí)行權(quán)
其他人(o) 沒有任何權(quán)限
chown 命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶xu,為了讓用戶xu能夠存取這個文件,root用戶應(yīng)該把這個文件的屬主設(shè)為xu,否則,用戶xu無法存取這個文件。
語法:chown [選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。
該命令的各選項含義如下:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者。
– v 顯示chown命令所做的工作。
例1:把文件shiyan.c的所有者改為wang。
$ chown wang shiyan.c
例2:把目錄/his及其下的所有文件和子目錄的屬主改成wang,屬組改成users。
$ chown – R wang.users /his
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp [選項] group filename?
該命令改變指定指定文件所屬的用戶組。其中g(shù)roup可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:$ chgrp – R book /opt/local /book
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
Linux中chmod中的 permission(r,w,x,s,t) 里的s和t代表什么意思呢
Set
UID
會創(chuàng)建s與t權(quán)限,是為了讓一般用戶在執(zhí)行某些程序的時候,能夠暫時具有該程序擁有者的權(quán)限。舉例來說,我們知道,賬號與密碼的存放文件其實是
/etc/passwd與 /etc/shadow.而 /etc/shadow文件的權(quán)限是“-r-
”。它的擁有者是root.在這個權(quán)限中,僅有root可以州遲茄“強制”存儲,其他人是連看都不行的。
但是,偏偏筆者使用dmtsai這個一般旦兄身份用戶去更新自己的密碼時,使用的就是
/usr/bin/passwd程序,卻可以更新自己的密碼。也就是說,dmtsai這個一般身份用戶可以存取 /etc/shadow密碼文件。這怎么可能?明明
/etc/shadow就是沒有dmtsai可存取的權(quán)限。這就是因為有s權(quán)限的幫助。當(dāng)s權(quán)限在user的x時,也就是類似 -r – s – – x – – x,稱為Set
UID,簡稱為SUID,這個UID表示User的ID,而User表示這個程序(/usr/bin/passwd)的擁有者(root)。那么,我們就可以知道,當(dāng)dmtsai用戶執(zhí)行
/usr/bin/passwd時,它就會“暫時”得到文件擁有者root的權(quán)限。
SUID僅可用在“二進制文件(binary
file)”,SUID因為是程序在執(zhí)行過程中擁有文件擁有者的權(quán)限,因此,它僅可用于二進制文件,不能用在批處理文件(shell腳本)上。這是因為
shell腳本只是將很多二進制執(zhí)行文件調(diào)進來執(zhí)行而已。所以SUID的權(quán)限部分,還是要看shell腳本調(diào)用進來的程序設(shè)置,而不是shell腳本本身。當(dāng)然,SUID對目錄是無效的。這點要特別注意。
Set
GID
進一步而言,如果s的權(quán)限是在用戶組,那么就是Set
GID,簡稱為SGID.SGID可以用在兩個方面。
文件:如果SGID設(shè)置在二進制文件冊察上,則不論用戶是誰,在執(zhí)行該程序的時候,它的有效用戶組(effective
group)將會變成該程序的用戶組所有者(group
id)。
目錄:如果SGID是設(shè)置在A目錄上,則在該A目錄內(nèi)所建立的文件或目錄的用戶組,將會是此A目錄的用戶組。
一般來說,SGID多用在特定的多人團隊的項目開發(fā)上,在系統(tǒng)中用得較少。
Sticky
Bit
這個Sticky Bit當(dāng)前只針對目錄有效,對文件沒有效果。SBit對目錄的作用是:“在具有SBit的目錄下,用戶若在該目錄下具有w及x權(quán)限,則當(dāng)用戶在該目錄下建立文件或目錄時,只有文件擁有者與root才有權(quán)力刪除”。換句話說:當(dāng)甲用戶在A目錄下?lián)碛術(shù)roup或other的項目,且擁有w權(quán)限,這表示甲用戶對該目錄內(nèi)任何人建立的目錄或文件均可進行“刪除/重命名/移動”等操作。不過,如果將A目錄加上了Sticky
bit的權(quán)限,則甲只能夠針對自己建立的文件或目錄進行刪除/重命名/移動等操作。
舉例來說,/tmp本身的權(quán)限是“drwxrwxrwt”,在這樣的權(quán)限內(nèi)容下,任何人都可以在
/tmp內(nèi)新增、修改文件,但僅有該文件/目錄的建立者與root能夠刪除自己的目錄或文件。這個特性也很重要??梢赃@樣做個簡單測試:
1. 以root登入系統(tǒng),并且進入 /tmp中。
2. touch
test,并且更改test權(quán)限成為777.
3. 以一般用戶登入,并進入 /tmp.
4.
嘗試刪除test文件。
SUID/SGID/SBIT權(quán)限設(shè)置
前面介紹過SUID與SGID的功能,那么,如何打開文件使其成為具有SUID與SGID的權(quán)限呢?這就需要使用數(shù)字更改權(quán)限了。現(xiàn)在應(yīng)該知道,使用數(shù)字更改權(quán)限的方式為“3個數(shù)字”的組合,那么,如果在這3個數(shù)字之前再加上一個數(shù)字,最前面的數(shù)字就表示這幾個屬性了(注:通常我們使用chmod
xyz filename的方式來設(shè)置filename的屬性時,則是假設(shè)沒有SUID、SGID及Sticky
bit)。
4為SUID
2為SGID
1為Sticky
bit
假設(shè)要將一個文件屬性改為“-rwsr-xr-x”,由于s在用戶權(quán)限中,所以是SUID,因此,在原先的755之前還要加上4,也就是使用
“chmod 4755
filename”來設(shè)置。此外,還有大S與大T的產(chǎn)生。參考下面的范例(注意:下面的范例只是練習(xí)而已,所以筆者使用同一個文件來設(shè)置,必須知道,SUID不是用在目錄上,SBIT不是用在文件上)。
# cd /tmp
# touch test
# chmod 4755 test; ls -l test
-rwsr-xr-x 1 root root 0 Jul 20 11:27 test
# chmod 6755 test; ls -l test
-rwsr-sr-x 1 root root 0 Jul 20 11:27 test
# chmod 1755 test; ls -l test
-rwxr-xr-t 1 root root 0 Jul 20 11:27 test
# chmod 7666 test; ls -l test
-rwSrwSrwT 1 root root 0 Jul 20 11:27 test
# 這個例子要特別小心。怎么會出現(xiàn)大寫的S與T呢?不都是小寫的嗎?
#
因為s與t都是取代x參數(shù)的,但是,我們是使用
#
7666.也就是說,user、group以及others都沒有x這個可執(zhí)行的標(biāo)志
# (因為666)。所以,S、T表示“空的”。
#
SUID是表示“該文件在執(zhí)行時,具有文件擁有者的權(quán)限”,但文件
Linux特殊權(quán)限o+t的問題
目錄abc的刪除不是有該目錄的權(quán)限控制,是由目錄test的權(quán)限控制
我看了攔備半天沒看明白你說的是什么意思。
反正跟你說一下,你對這些權(quán)限的修改,應(yīng)該是使用root分配好之后。把帳號悶跡退出,重新螞衡并登錄才能有效。
關(guān)于linux權(quán)限r(nóng)ws的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文名稱:深入了解Linux權(quán)限r(nóng)ws:掌握文件操作精髓(linux權(quán)限r(nóng)ws)
網(wǎng)頁地址:http://m.fisionsoft.com.cn/article/cdcohhp.html


咨詢
建站咨詢
