Linux中的Chmod命令用于更改或分配文件和目錄的權(quán)限。在Linux/Unix系統(tǒng)中,文件和目錄的可訪問(wèn)性是由文件所有權(quán)和權(quán)限決定的。在本教程中,我們將介紹chmod命令。
chmod命令(change mode的縮寫(xiě))用于管理文件和目錄權(quán)限,并確定誰(shuí)可以訪問(wèn)它們。現(xiàn)在讓我們深入了解文件和目錄權(quán)限的本質(zhì),以及如何修改它們。
Linux權(quán)限
為了更好地理解chmod命令是如何工作的,我們?cè)撝?jǐn)慎地研究Linux文件權(quán)限模型。 在Linux中,我們具有3種類(lèi)型的文件權(quán)限:讀(r),寫(xiě)(w)和執(zhí)行(x)權(quán)限。這些權(quán)限確定哪些用戶可以讀取,寫(xiě)入或執(zhí)行文件。您可以使用文本或八進(jìn)制(數(shù)字)表示法來(lái)分配這些權(quán)限,我們將在本教程后面討論。 文件和目錄可以屬于文件(u),組(g)或其他(o)的所有者
u - 所有人的權(quán)限
g - 所有組的權(quán)限
o- 其他人的權(quán)限
使用ls -l命令以長(zhǎng)格式的形式查看當(dāng)前目錄下所有可見(jiàn)文件的詳細(xì)屬性。該-l標(biāo)志列出文件的權(quán)限。權(quán)限分為三組:用戶(user)組(group)和其他(others)。 為了更好地理解文件權(quán)限,我們將列出目錄的內(nèi)容,如下所示:
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l
從最左端開(kāi)始,第一個(gè)字符/符號(hào)表示文件類(lèi)型。一個(gè)連字符( - ),表示該文件是一個(gè)普通文件。符號(hào)d表示它是目錄。符號(hào)l表示它是符號(hào)鏈接。 其余的9個(gè)字符分成3個(gè)三元組,每個(gè)三元組帶有三個(gè)符號(hào)r(read),w(write)和x(execute)。如前所述,第一部分指向所有者權(quán)限,第二部分指示組權(quán)限,最后一部分指定其他用戶對(duì)該文件或目錄具有的權(quán)限。 從輸出中,我們可以看到我們有4個(gè)文件和2個(gè)目錄。 讓我們查看下第一個(gè)文件-rw-rw-r-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.com.cpp 對(duì)于第一個(gè)文件,-rw-rw-r–權(quán)限表示該文件的所有者具有讀取和寫(xiě)入權(quán)限,該組還具有讀取和寫(xiě)入權(quán)限,而其他用戶僅具有讀取權(quán)限。 再看看目錄的權(quán)限:drwxrwxr-x 3 linuxmi linuxmi 4096 10月 12 13:31 Linux迷 我們可以看到目錄和組的所有者擁有所有權(quán)限(讀取,寫(xiě)入和執(zhí)行),而其他用戶僅具有讀取和執(zhí)行權(quán)限。 在三重連字符符號(hào)-表示沒(méi)有權(quán)限已被授予該文件,小組或其他用戶的所有者。
使用chmod命令設(shè)置文件和目錄權(quán)限
在查看了文件權(quán)限以及如何查看它們之后,我們不再關(guān)注如何修改這些權(quán)限。 Linux中的chmod命令用于使用文本(符號(hào))或數(shù)字(八進(jìn)制)表示法更改文件和目錄權(quán)限。它采用以下語(yǔ)法:
$ chmod [選項(xiàng)]模式文件名
只有root用戶或具有sudo特權(quán)的普通用戶才能更改文件或目錄權(quán)限。您可以在命令語(yǔ)法中傳遞多個(gè)文件或目錄,并用空格分隔。 現(xiàn)在讓我們深入研究并查看chmod命令的不同示例。
示例1)使用數(shù)字符號(hào)分配權(quán)限
使用數(shù)字樣式/符號(hào)設(shè)置權(quán)限時(shí),請(qǐng)使用以下語(yǔ)法:
$ sudo chmod [選項(xiàng)]數(shù)字值文件名 數(shù)值可以為3或4個(gè)數(shù)字。但是,在大多數(shù)情況下,使用3個(gè)數(shù)字。讀取,寫(xiě)入和執(zhí)行權(quán)限采用以下值:
讀取權(quán)限=> 4
寫(xiě)權(quán)限=> 2
執(zhí)行權(quán)限=> 1
權(quán)限值的總和,即在三個(gè)段中的每一個(gè)中的讀取,寫(xiě)入和執(zhí)行,都占給定文件或目錄的完整權(quán)限。這是什么意思?假設(shè)所有者具有讀取,寫(xiě)入和執(zhí)行權(quán)限,該組具有讀取和執(zhí)行權(quán)限,而其他用戶僅具有讀取權(quán)限,可以將其細(xì)分如下:
u:rwx = 7 g:rx = 5 o:r– = 4 因此,我們得到的值為754,作為給定文件的文件權(quán)限的數(shù)值。 要將讀取,寫(xiě)入和執(zhí)行權(quán)限分配給所有者,而僅將讀取權(quán)限分配給組和其他用戶,請(qǐng)運(yùn)行以下命令:$ chmod 744 www.linuxmi.com.txt 要將所有權(quán)限分配給文件的所有者,請(qǐng)對(duì)該組讀取和執(zhí)行權(quán)限,而對(duì)其他用戶則完全沒(méi)有權(quán)限,請(qǐng)執(zhí)行:$ chmod 750 www.linuxmi.com.txt 要將所有權(quán)限分配給文件的所有者,請(qǐng)對(duì)該組具有讀寫(xiě)權(quán)限,其他用戶請(qǐng)運(yùn)行以下命令:$ chmod 755 linuxmi.txt
示例2)遞歸分配目錄權(quán)限
為目錄分配權(quán)限時(shí),請(qǐng)使用-R標(biāo)志以遞歸方式為其目錄和子文件夾分配權(quán)限。例如: $ chmod 755 -R 目錄名
$ chmod 755 -R /home/linuxmi/linux
示例3)使用文本表示法指定權(quán)限
分配權(quán)限的另一種方法是使用文本表示法。在此方法中,chmod命令采用標(biāo)志或符號(hào),這些標(biāo)志或符號(hào)代表語(yǔ)法中的所有者,組,其他或所有用戶(u,g和o)。 該方法不像以前的方法那樣簡(jiǎn)單明了,應(yīng)注意避免分配錯(cuò)誤的權(quán)限。 這是語(yǔ)法的樣子
$ chmod [選項(xiàng)] [ugoa] [– + =] [r,w,x]文件 讓我們分解一下。 第一組參數(shù)[ugoa]指定權(quán)限將更改的用戶類(lèi)別
u:用戶
g:組
o:其他
a:全部(包括以上所有內(nèi)容)
如果省略了這個(gè)集合,那么默認(rèn)選項(xiàng)是a選項(xiàng)。 第二組選項(xiàng)–操作員選項(xiàng)[– + =]–確定是要添加權(quán)限還是要從用戶類(lèi)別中刪除權(quán)限。選項(xiàng)刪除
– :該標(biāo)志從指定的用戶中刪除文件權(quán)限。
+ :將權(quán)限添加/添加到指定用戶。
= :為指定的用戶分配不同的權(quán)限,并刪除該用戶段的先前權(quán)限。
示例4)為文件分配讀取權(quán)限
$ chmod o = r 文件名 上面的命令僅將用符號(hào)“ o”表示的其他用戶分配給該文件的讀取權(quán)限,并刪除先前分配給' others '段的權(quán)限。取得具有以下權(quán)限的linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-x 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
分配“others (o)”段的讀權(quán)限,請(qǐng)僅運(yùn)行l(wèi)inuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o=r linuxmi.txt [sudo] linuxmi 的密碼: linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
從輸出中,我們可以看到已為“others”段分配了讀取權(quán)限,而同時(shí)又失去了執(zhí)行權(quán)限。這意味著=運(yùn)算符將分配新的權(quán)限,而同時(shí)會(huì)刪除以前的權(quán)限。
示例5)向文件和組所有者分配執(zhí)行權(quán)限
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod ug+x linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt 上面的命令將執(zhí)行權(quán)限添加到文件的所有者和組。使用我們的文件,它將變成:
示例6)為文件,組和其他分配不同的權(quán)限
sudo chmod u=rwx,g=rw,o=r filename 上面的命令將所有權(quán)限分配給文件的所有者,將讀寫(xiě)權(quán)限分配給組,僅將讀取權(quán)限授予其他用戶。
注意:如果在=運(yùn)算符之后未指定任何權(quán)限,則將刪除該用戶段中的所有權(quán)限。
示例7)刪除其他用戶的所有權(quán)限
$ sudo chmod o= filename sudo chmod o= linuxmi.txt $ sudo chmod o-rwx linuxmi.txt 上面的命令從“其他”用戶段中刪除指定文件的所有權(quán)限。 該命令與以下命令具有相同的作用: $ sudo chmod o-rwx filename
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o= linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o-rwx linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
示例8)使用模板文件分配權(quán)限
分配文件權(quán)限的另一種便捷方法是使用參考文件。在此方法中,您使用--reference=<模板文件> 選項(xiàng)將文件的權(quán)限設(shè)置為與另一個(gè)參考文件的權(quán)限相同。使用以下語(yǔ)法
$ sudo chmod –reference=ref_file filename 例如,要將linuxmi.txt的文件權(quán)限設(shè)置為與www.linuxmi.com.py的權(quán)限相同,請(qǐng)運(yùn)行以下命令:$ sudo chmod --reference=www.linuxmi.com.py linuxmi.txt 模板文件是www.linuxmi.com.py,將linuxmi.txt更改為模板文件相同的權(quán)限。
示例9)僅將執(zhí)行權(quán)限分配給目錄
假設(shè)我們有一個(gè)包含文件和子目錄的目錄,并且我們希望僅對(duì)目錄分配執(zhí)行權(quán)限,而不接觸文件。因此,這可以通過(guò)使用以下chmod命令來(lái)實(shí)現(xiàn),
$ chmod a+X * 如果您已經(jīng)注意到,我們已經(jīng)使用大寫(xiě)的X作為執(zhí)行權(quán)限,以上命令將在當(dāng)前工作目錄的所有目錄上設(shè)置執(zhí)行權(quán)限。總結(jié)這個(gè)話題暫時(shí)到此結(jié)束。我們查看了chmod命令,并了解了可以使用該命令更改文件權(quán)限的各種示例。
責(zé)任編輯:xj
原文標(biāo)題:【Linux】修改權(quán)限命令chmod用法示例
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
Linux
+關(guān)注
關(guān)注
87文章
11350瀏覽量
210462 -
命令
+關(guān)注
關(guān)注
5文章
697瀏覽量
22117 -
修改
+關(guān)注
關(guān)注
0文章
4瀏覽量
8886
原文標(biāo)題:【Linux】修改權(quán)限命令chmod用法示例
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
linux權(quán)限管理詳解
搞懂Linux權(quán)限管理,提升系統(tǒng)安全性與穩(wěn)定性
![搞懂Linux<b class='flag-5'>權(quán)限</b>管理,提升系統(tǒng)安全性與穩(wěn)定性](https://file1.elecfans.com/web2/M00/0C/2B/wKgZomc_7eGAdPgDAAAjvc6zhlQ988.png)
Linux lsof命令的基本用法
![Linux lsof<b class='flag-5'>命令</b>的基本<b class='flag-5'>用法</b>](https://file1.elecfans.com/web1/M00/F3/7F/wKgaoWcYc2mAFw5cAAA4fI5XmGk856.png)
Linux用戶身份與進(jìn)程權(quán)限詳解
![Linux用戶身份與進(jìn)程<b class='flag-5'>權(quán)限</b>詳解](https://file1.elecfans.com/web2/M00/0A/EE/wKgaomcYcOeAOFTIAAAlR6hIpxM398.png)
瑞芯微RK3568鴻蒙開(kāi)發(fā)板OpenHarmony系統(tǒng)修改cfg文件權(quán)限方法
![瑞芯微RK3568鴻蒙開(kāi)發(fā)板OpenHarmony系統(tǒng)<b class='flag-5'>修改</b>cfg文件<b class='flag-5'>權(quán)限</b>方法](https://file1.elecfans.com/web2/M00/06/01/wKgZombhKSWAfaYCAACRBodpoiI952.png)
執(zhí)行shell腳本的方式包括什么
嵌入式學(xué)習(xí)-常見(jiàn)的shell命令之其他命令
常見(jiàn)的shell命令之其他命令
嵌入式學(xué)習(xí)-常見(jiàn)的shell命令之文件操作相關(guān)命令
常見(jiàn)的shell命令之文件操作相關(guān)命令
使用mybatis切片實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制
![使用mybatis切片實(shí)現(xiàn)數(shù)據(jù)<b class='flag-5'>權(quán)限</b>控制](https://file1.elecfans.com//web2/M00/F9/D3/wKgZomaLyPGADDxAAAEr4RL-Yl0024.png)
鴻蒙開(kāi)發(fā)組件:DataAbility權(quán)限控制
![鴻蒙開(kāi)發(fā)組件:DataAbility<b class='flag-5'>權(quán)限</b>控制](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開(kāi)發(fā)應(yīng)用權(quán)限列表一
Linux開(kāi)機(jī)啟動(dòng)方案
AWTK 開(kāi)源串口屏開(kāi)發(fā)(9) - 用戶和權(quán)限管理
![AWTK 開(kāi)源串口屏開(kāi)發(fā)(9) - 用戶和<b class='flag-5'>權(quán)限</b>管理](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評(píng)論