欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Linux文件系統(tǒng)權(quán)限的示例分析

小編給大家分享一下Linux文件系統(tǒng)權(quán)限的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

十多年的保亭黎族網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整保亭黎族建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“保亭黎族網(wǎng)站設(shè)計(jì)”,“保亭黎族網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

理解 ls 命令的輸出

在討論如何修改權(quán)限之前,我們需要知道如何查看權(quán)限。通過(guò) ls 命令的長(zhǎng)列表參數(shù)(-l)為我們提供了有關(guān)文件的許多信息。

$ ls -lAhtotal 20K-rwxr-xr--+ 1 root root    0 Mar  4 19:39 file1-rw-rw-rw-. 1 root root    0 Mar  4 19:39 file10-rwxrwxr--+ 1 root root    0 Mar  4 19:39 file2-rw-rw-rw-. 1 root root    0 Mar  4 19:39 file8-rw-rw-rw-. 1 root root    0 Mar  4 19:39 file9drwxrwxrwx. 2 root root 4.0K Mar  4 20:04 testdir

為了理解這些是什么意思,讓我們將關(guān)于權(quán)限的輸出分解為各個(gè)部分。單獨(dú)理解每個(gè)部分會(huì)更容易。

讓我們看看在上面的輸出中的最后一行的每個(gè)組件:

drwxrwxrwx. 2 root root 4.0K Mar  4 20:04 testdir
第 1 節(jié)第 2 節(jié)第 3 節(jié)第 4 節(jié)第 5 節(jié)第 6 節(jié)第 7 節(jié)
drwxrwxrwx.rootroot

第 1 節(jié)(左側(cè))顯示文件的類(lèi)型。

符號(hào)類(lèi)型
d目錄
-常規(guī)文件
l軟鏈接

ls 的 info 頁(yè)面完整列出了不同的文件類(lèi)型。

每個(gè)文件都有三種訪(fǎng)問(wèn)方式:

  • 屬主

  • 所有其他人    第 2、3 和 4 節(jié)涉及用戶(hù)(屬主)、組和“其他用戶(hù)”權(quán)限。每個(gè)部分都可以包含 r(讀取)、w(寫(xiě)入)和 x(執(zhí)行)權(quán)限的組合。

每個(gè)權(quán)限還分配了一個(gè)數(shù)值,這在以八進(jìn)制表示形式討論權(quán)限時(shí)很重要。

權(quán)限八進(jìn)制值
r4
w2
x1

第 5 節(jié)描述了其他替代訪(fǎng)問(wèn)方法,例如 SELinux 或文件訪(fǎng)問(wèn)控制列表(FACL)。

訪(fǎng)問(wèn)方法字符
沒(méi)有其它訪(fǎng)問(wèn)方法-
SELinux.
FACL+
各種方法的組合+

第 6 節(jié)和第 7 節(jié)分別是屬主和組的名稱(chēng)。

使用 chown 和 chmod

chown 命令

chown(更改所有權(quán))命令用于更改文件的用戶(hù)和組的所有權(quán)。

要將文件 foo 的用戶(hù)和組的所有權(quán)更改為 root,我們可以使用以下命令:

$ chown root:root foo$ chown root: foo

在用戶(hù)名后跟冒號(hào)(:)運(yùn)行該命令將同時(shí)設(shè)置用戶(hù)和組所有權(quán)。

要僅將文件 foo 的用戶(hù)所有權(quán)設(shè)置為 root 用戶(hù),請(qǐng)輸入:

$ chown root foo

要僅更改文件 foo 的組所有權(quán),請(qǐng)?jiān)诮M之前加冒號(hào):

$ chown :root foo
chmod 命令

chmod(更改模式)命令控制屬主、組以及既不是屬主也不屬于與文件關(guān)聯(lián)的組的所有其他用戶(hù)的文件許可權(quán)。

chmod 命令可以以八進(jìn)制(例如 755644 等)和符號(hào)(例如 u+rwxg-rwxo=rw)格式設(shè)置權(quán)限。

八進(jìn)制表示法將 4 個(gè)“點(diǎn)”分配給“讀取”,將 2 個(gè)“點(diǎn)”分配給“寫(xiě)入”,將 1  個(gè)點(diǎn)分配給“執(zhí)行”。如果要給用戶(hù)(屬主)分配“讀取”權(quán)限,則將 4 分配給第一個(gè)插槽,但是如果要添加“寫(xiě)入”權(quán)限,則必須添加  2。如果要添加“執(zhí)行”,則要添加 1。我們對(duì)每種權(quán)限類(lèi)型執(zhí)行此操作:屬主、組和其他。

例如,如果我們想將“讀取”、“寫(xiě)入”和“執(zhí)行”分配給文件的屬主,但僅將“讀取”和“執(zhí)行”分配給組成員和所有其他用戶(hù),則我們應(yīng)使用 755(八進(jìn)制格式)。這是屬主的所有權(quán)限位(4+2+1),但組和其他權(quán)限的所有權(quán)限位只有 414+1)。

細(xì)分為:4+2+1=7,4+1=5 和 4+1=5。

如果我們想將“讀取”和“寫(xiě)入”分配給文件的屬主,而只將“讀取”分配給組的成員和所有其他用戶(hù),則可以如下使用 chmod

$ chmod 644 foo_file

在下面的示例中,我們?cè)诓煌姆纸M中使用符號(hào)表示法。注意字母 ugo 分別代表“用戶(hù)”(屬主)、“組”和“其他”。我們將 ugo+-= 結(jié)合使用來(lái)添加、刪除或設(shè)置權(quán)限位。

要將“執(zhí)行”位添加到所有權(quán)權(quán)限集中:

$ chmod u+x foo_file

要從組成員中刪除“讀取”、“寫(xiě)入”和“執(zhí)行”:

$ chmod g-rwx foo_file

要將所有其他用戶(hù)的所有權(quán)設(shè)置為“讀取”和“寫(xiě)入”:

$ chmod o=rw

特殊位:設(shè)置 UID、設(shè)置 GID 和粘滯位

除了標(biāo)準(zhǔn)權(quán)限外,還有一些特殊的權(quán)限位,它們具有一些別的用處。

設(shè)置用戶(hù) ID(suid)

當(dāng)在文件上設(shè)置 suid 時(shí),將以文件的屬主的身份而不是運(yùn)行該文件的用戶(hù)身份執(zhí)行操作。一個(gè)好的例子是 passwd 命令。它需要設(shè)置 suid 位,以便更改密碼的操作具有 root 權(quán)限。

$ ls -l /bin/passwd-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd

設(shè)置 suid 位的示例:

$ chmod u+s /bin/foo_file_name
設(shè)置組 ID(sgid)

sgid 位與 suid 位類(lèi)似,操作是在目錄的組所有權(quán)下完成的,而不是以運(yùn)行命令的用戶(hù)身份。

一個(gè)使用 sgid 的例子是,如果多個(gè)用戶(hù)正在同一個(gè)目錄中工作,并且目錄中創(chuàng)建的每個(gè)文件都需要具有相同的組權(quán)限。下面的示例創(chuàng)建一個(gè)名為 collab_dir 的目錄,設(shè)置 sgid 位,并將組所有權(quán)更改為 webdev

$ mkdir collab_dir$ chmod g+s collab_dir$ chown :webdev collab_dir

現(xiàn)在,在該目錄中創(chuàng)建的任何文件都將具有 webdev 的組所有權(quán),而不是創(chuàng)建該文件的用戶(hù)的組。

$ cd collab_dir$ touch file-sgid$ ls -lah file-sgid-rw-r--r--. 1 root webdev 0 Jun 12 06:04 file-sgid
“粘滯”位

粘滯位表示,只有文件所有者才能刪除該文件,即使組權(quán)限允許該文件可以刪除。通常,在 /tmp 這樣的通用或協(xié)作目錄上,此設(shè)置最有意義。在下面的示例中,“所有其他人”權(quán)限集的“執(zhí)行”列中的 t 表示已應(yīng)用粘滯位。

$ ls -ld /tmpdrwxrwxrwt. 8 root root 4096 Jun 12 06:07 /tmp/

請(qǐng)記住,這不會(huì)阻止某個(gè)人編輯該文件,它只是阻止他們刪除該目錄的內(nèi)容(LCTT 譯注:即刪除目錄下文件)。

我們將粘滯位設(shè)置為:

$ chmod o+t foo_dir

你可以自己嘗試在目錄上設(shè)置粘滯位并賦予其完整的組權(quán)限,以便多個(gè)屬于同一組的用戶(hù)可以在目錄上進(jìn)行讀取、寫(xiě)入和執(zhí)行。

接著,以每個(gè)用戶(hù)的身份創(chuàng)建文件,然后嘗試以另一個(gè)用戶(hù)的身份刪除它們。

如果一切配置正確,則一個(gè)用戶(hù)應(yīng)該不能從另一用戶(hù)那里刪除文件。

請(qǐng)注意,這些位中的每個(gè)位也可以用八進(jìn)制格式設(shè)置:SUID = 4、SGID = 2 和 粘滯位 = 1。(LCTT 譯注:這里是四位八進(jìn)制數(shù)字)

$ chmod 4744$ chmod 2644$ chmod 1755
大寫(xiě)還是小寫(xiě)?

如果要設(shè)置特殊位時(shí)看到大寫(xiě)的 ST 而不是小寫(xiě)的字符(如我們之前所見(jiàn)),那是因?yàn)椴淮嬖冢▽?duì)應(yīng)的)底層的執(zhí)行位。為了說(shuō)明這一點(diǎn),下面的示例創(chuàng)建一個(gè)設(shè)置了粘滯位的文件。然后,我們可以添加和刪除執(zhí)行位以演示大小寫(xiě)更改。

$ touch file cap-ST-demo$ chmod 1755 cap-ST-demo$ ls -l cap-ST-demo-rwxr-xr-t. 1 root root 0 Jun 12 06:16 cap-ST-demo $ chmod o-x cap-X-demo$ ls -l cap-X-demo-rwxr-xr-T. 1 root root 0 Jun 12 06:16 cap-ST-demo
有條件地設(shè)置執(zhí)行位

至此,我們使用小寫(xiě)的 x 設(shè)置了執(zhí)行位,而無(wú)需詢(xún)問(wèn)任何問(wèn)題即可對(duì)其進(jìn)行設(shè)置。我們還有另一種選擇:使用大寫(xiě)的 X 而不是小寫(xiě)的,它將僅在權(quán)限組中某個(gè)位置已經(jīng)有執(zhí)行位時(shí)才設(shè)置執(zhí)行位。這可能是一個(gè)很難解釋的概念,但是下面的演示將幫助說(shuō)明它。請(qǐng)注意,在嘗試將執(zhí)行位添加到組特權(quán)之后,該位沒(méi)有被設(shè)置上。

$ touch cap-X-file$ ls -l cap-X-file-rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file$ chmod g+X cap-X-file$ ls -l cap-X-file-rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file

在這個(gè)類(lèi)似的例子中,我們首先使用小寫(xiě)的 x 將執(zhí)行位添加到組權(quán)限,然后使用大寫(xiě)的 X 為所有其他用戶(hù)添加權(quán)限。這次,大寫(xiě)的 X設(shè)置了該權(quán)限。

$ touch cap-X-file$ ls -l cap-X-file-rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file$ chmod g+x cap-X-file$ ls -l cap-X-file-rw-r-xr--. 1 root root 0 Jun 12 06:31 cap-X-file$ chmod o+X cap-X-filels -l cap-X-file-rw-r-xr-x. 1 root root 0 Jun 12 06:31 cap-X-file

理解 umask

umask 會(huì)屏蔽(或“阻止”)默認(rèn)權(quán)限集中的位,以定義文件或目錄的權(quán)限。例如,umask輸出中的 2 表示它至少在默認(rèn)情況下阻止了文件的“寫(xiě)入”位。

使用不帶任何參數(shù)的 umask 命令可以使我們看到當(dāng)前的 umask 設(shè)置。共有四列:第一列為特殊的suidsgid 或粘滯位而保留,其余三列代表屬主、組和其他人的權(quán)限。

$ umask0022

為了理解這意味著什么,我們可以用 -S 標(biāo)志來(lái)執(zhí)行 umask(如下所示)以解釋屏蔽位的結(jié)果。例如,由于第三列中的值為 2,因此將“寫(xiě)入”位從組和其他部分中屏蔽掉了;只能為它們分配“讀取”和“執(zhí)行”。

$ umask -Su=rwx,g=rx,o=rx

要查看文件和目錄的默認(rèn)權(quán)限集是什么,讓我們將 umask 設(shè)置為全零。這意味著我們?cè)趧?chuàng)建文件時(shí)不會(huì)掩蓋任何位。

$ umask 000$ umask -Su=rwx,g=rwx,o=rwx $ touch file-umask-000$ ls -l file-umask-000-rw-rw-rw-. 1 root root 0 Jul 17 22:03 file-umask-000

現(xiàn)在,當(dāng)我們創(chuàng)建文件時(shí),我們看到所有部分的默認(rèn)權(quán)限分別為“讀取”(4)和“寫(xiě)入”(2),相當(dāng)于八進(jìn)制表示 666

我們可以對(duì)目錄執(zhí)行相同的操作,并看到其默認(rèn)權(quán)限為 777。我們需要在目錄上使用“執(zhí)行”位,以便可以遍歷它們。

$ mkdir dir-umask-000$ ls -ld dir-umask-000drwxrwxrwx. 2 root root 4096 Jul 17 22:03 dir-umask-000/

看完了這篇文章,相信你對(duì)“Linux文件系統(tǒng)權(quán)限的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:Linux文件系統(tǒng)權(quán)限的示例分析
本文鏈接:http://chinadenli.net/article18/jggdgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google外貿(mào)建站響應(yīng)式網(wǎng)站做網(wǎng)站商城網(wǎng)站App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)