文件系統管理 之 文件和目錄訪問權限設置

一、文件和目錄權限概述

在linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。

通過設定權限可以從以下三種訪問方式限制訪問權限:只允許用戶自己訪問;允許一個預先指定的用戶組中的用戶訪問;允許系統中的任何用戶訪問。同時,用戶能夠控制一個給定的文件或目錄的訪問程度。一個文件活目錄可能有讀、寫及執行權限。當創建一個文件時,系統會自動地賦予文件所有者讀和寫的權限,這樣可以允許所有者能夠顯示文件內容和修改文件。文件所有者可以將這些權限改變為任何他想指定的權限。一個文件也許只有讀權限,禁止任何修改。文件也可能只有執行權限,允許它想一個程序一樣執行。

三種不同的用戶類型能夠訪問一個目錄或者文件:所有著、用戶組或其他用戶。所有者就是創建文件的用戶,用戶是所有用戶所創建的文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。通常,用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問權限。最后,用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是other用戶類。

每一個用戶都有它自身的讀、寫和執行權限。第一套權限控制訪問自己的文件權限,即所有者權限。第二套權限控制用戶組訪問其中一個用戶的文件的權限。第三套權限控制其他所有用戶訪問一個用戶的文件的權限,這三套權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限就構成了一個有9種類型的權限組。

我們可以用-l參數的ls命令顯示文件的詳細信息,其中包括權限。如下所示:

?

[root@localhost ~]# ls -lh
總用量 368K
-rw-r--r--? 1 root root? 12K? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root?? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 325K 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root?? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root 9.6K 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root 9.6K 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root?? 48? 9月? 6 13:06 vmware

?

當執行ls -l 或 ls -al 命令后顯示的結果中,最前面的第2~10個字符是用來表示權限。第一個字符一般用來區分文件和目錄:

??? d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的文件。
??? -:表示這是一個普通的文件。
??? l:? 表示這是一個符號鏈接文件,實際上它指向另一個文件。
??? b、c:分別表示區塊設備和其他的外圍設備,是特殊類型的文件。
??? s、p:這些文件關系到系統的數據結構和管道,通常很少見到。


下面詳細介紹一下權限的種類和設置權限的方法。

?


二、一般權限

第2~10個字符當中的每3個為一組,左邊三個字符表示所有者權限,中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。這三個一組共9個字符,代表的意義如下:
r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目 錄的權限。
w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。
-:表示不具有該項權限。

下面舉例說明:

????? -rwx------: 文件所有者對文件具有讀取、寫入和執行的權限。
????? -rwxr—r--: 文件所有者具有讀、寫與執行的權限,其他用戶則具有讀取的權限。
????? -rw-rw-r-x: 文件所有者與同組用戶對文件具有讀寫的權限,而其他用戶僅具有讀取和執行的權限。
????? drwx--x--x: 目錄所有者具有讀寫與進入目錄的權限,其他用戶近能進入該目錄,卻無法讀取任何數據。
????? Drwx------: 除了目錄所有者具有完整的權限之外,其他用戶對該目錄完全沒有任何權限。


每個用戶都擁有自己的專屬目錄,通常集中放置在/home目錄下,這些專屬目錄的默認權限為rwx------:

?

?

[root@localhost ~]# ls -al
總用量 5
drwxr-xr-x?? 9 root?? root?? 240 11月? 8 18:30 .
drwxr-xr-t? 22 root?? root?? 568 10月 15 09:13 ..
drwxr-xr-x?? 2 root?? root??? 48? 8月 11 08:09 ftp
drwxrwxrwx?? 2 habil? users? 272 11月 13 19:13 habil
-rw-r--r--?? 1 root?? root???? 0? 7月 31 00:41 .keep
drwxr-xr-x?? 2 root?? root??? 72 11月? 3 19:34 mp3
drwxr-xr-x? 39 sailor users 1896 11月 11 13:35 sailor
drwxr-xr-x?? 3 temp?? users? 168 11月? 8 18:17 temp
drwxr-xr-x?? 3 test?? users? 200 11月? 8 22:40 test
drwxr-xr-x? 65 wxd??? users 2952 11月 19 18:53 wxd

?

表示目錄所有者本身具有所有權限,其他用戶無法進入該目錄。執行mkdir命令所創建的目錄,其默認權限為rwxr-xr-x,用戶可以根據需要修改目錄的權限。

此外,默認的權限可用umask命令修改,用法非常簡單,只需執行umask 777 命令,便代表屏蔽所有的權限,因而之后建立的文件或目錄,其權限都變成000,依次類推。通常root帳號搭配umask命令的數值為022、027和077,普通用戶則是采用002,這樣所產生的權限依次為755、750、700、775。有關權限的數字表示法,后面將會詳細說明。
用戶登錄系統時,用戶環境就會自動執行rmask命令來決定文件、目錄的默認權限。


三、特殊權限

其實文件與目錄設置不止這些,還有所謂的特殊權限。由于特殊權限會擁有一些“特權”,因而用戶若無特殊需求,不應該啟用這些權限,避免安全方面出現嚴重漏洞,造成黑客入侵,甚至摧毀系統!!!
s或S(SUID,Set UID):可執行的文件搭配這個權限,便能得到特權,任意存取該文件的所有者能使用的全部系統資源。請注意具備SUID權限的文件,黑客經常利用這種權限,以SUID配上root帳號擁有者,無聲無息地在系統中開扇后門,供日后進出使用。
s或S(SGID,Set GID):設置在文件上面,其效果與SUID相同,只不過將文件所有者換成用戶組,該文件就可以任意存取整個用戶組所能使用的系統資源。
T或T(Sticky):/tmp和 /var/tmp目錄供所有用戶暫時存取文件,亦即每位用戶皆擁有完整的權限進入該目錄,去瀏覽、刪除和移動文件。

因為SUID、SGID、Sticky占用x的位置來表示,所以在表示上會有大小寫之分。加入同時開啟執行權限和SUID、SGID、Sticky,則權限表示字符是小寫的:

???? -rwsr-sr-t??? 1?? root??? root??? 4096????? 6月 23???? 08:17????? conf


如果關閉執行權限,則表示字符會變成大寫:

???? -rwSr-Sr-T??? 1?? root??? root??? 4096????? 6月 23???? 08:17????? conf

?


四、使用文件管理器來改變文件或目錄的權限:

如果用戶要改變一個文件目錄的權限,右擊要改變權限的文件或者目錄,在彈出的快捷菜單中選擇“屬性”,系統將打開屬性對話框

在“屬性”對話框中,單擊“權限”標簽,就會打開“權限”選項卡。

在這里你可以修改文件或者目錄的所有者、組群和其他用戶的權限,而且可以設置特殊權限

對于特殊權限,最好不要設置,不然會帶來很嚴重的安全問題。

當然,在這里你也可以改變文件和目錄的所有者和所屬組。

?


五、使用chmod和數字改變文件或目錄的訪問權限

文件和目錄的權限表示,是用rwx這三個字符來代表所有者、用戶組和其他用戶的權限。有時候,字符似乎過于麻煩,因此還有另外一種方法是以數字來表示權限,而且僅需三個數字。

???? r: 對應數值4
???? w: 對應數值2
???? x:對應數值1
???? -:對應數值0


  數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊涂,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那么rwx r-x r- -則可以表示成為:

  111 101 100


  再將其每三位轉換成為一個十進制數,就是754。

  例如,我們想讓a.txt這個文件的權限為:

  ????? 自己 同組用戶 其他用戶
  可讀?? 是?????? 是???? 是
  可寫?? 是?????? 是?????
??? 可執行


  那么,我們先根據上表得到權限串為:rw-rw-r--,那么轉換成二進制數就是110 110 100,再每三位轉換成為一個十進制數,就得到664,因此我 們執行命令:

[root@localhost ~]# chmod 664 a.txt


按照上面的規則,rwx合起來就是4+2+1=7,一個rwxrwxrwx權限全開放的文件,數值表示為777;而完全不開放權限的文件“---------”其數字表示為000。下面舉幾個例子:

-rwx------:等于數字表示700。
-rwxr—r--:等于數字表示744。
-rw-rw-r-x:等于數字表示665。
drwx—x—x:等于數字表示711。
drwx------:等于數字表示700。


在文本模式下,可執行chmod命令去改變文件和目錄的權限。我們先執行ls -l 看看目錄內的情況:

[root@localhost ~]# ls -l
總用量 368
-rw-r--r--? 1 root root? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root???? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root???? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root??? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root???? 48? 9月? 6 13:06 vmware

?

可以看到當然文件conkyrc.sample文件的權限是644,然后把這個文件的權限改成777。執行下面命令

[root@localhost ~]# chmod 777 conkyrc.sample


然后ls -l看一下執行后的結果:

[root@localhost ~]# ls -l
總用量 368
-rwxrwxrwx? 1 root root? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root???? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root???? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root??? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root???? 48? 9月? 6 13:06 vmware


可以看到conkyrc.sample文件的權限已經修改為rwxrwxrwx

?

如果要加上特殊權限,就必須使用4位數字才能表示。特殊權限的對應數值為:

???? s或 S (SUID):對應數值4。
???? s或 S (SGID):對應數值2。
???? t或 T :對應數值1。
<code>
用同樣的方法修改文件權限就可以了

例如:
<code>
[root@localhost ~]# chmod 7600 conkyrc.sample

[root@localhost ~]# ls -l
總用量 368
-rwS--S--T? 1 root root? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root???? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root???? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root??? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root???? 48? 9月? 6 13:06 vmware


加入想一次修改某個目錄下所有文件的權限,包括子目錄中的文件權限也要修改,要使用參數-R表示啟動遞歸處理。

?

例如:

[root@localhost ~]# chmod 777 /home/user? 注:僅把/home/user目錄的權限設置為rwxrwxrwx

[root@localhost ~]# chmod? -R 777 /home/user? 注:表示將整個/home/user目錄與其中的文件和子目錄的權限都設置為rwxrwxrwx



六、使用命令chown改變目錄或文件的所有權

文件與目錄不僅可以改變權限,其所有權及所屬用戶組也能修改,和設置權限類似,用戶可以通過圖形界面來設置,或執行chown命令來修改。

?

我們先執行ls -l看看目錄情況:

?

[root@localhost ~]# ls -l
總用量 368
-rwxrwxrwx? 1 root root? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root???? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root???? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root??? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root???? 48? 9月? 6 13:06 vmware


可以看到conkyrc.sample文件的所屬用戶組為root,所有者為root。

?

執行下面命令,把conkyrc.sample文件的所有權轉移到用戶user:

[root@localhost ~]# chown user conkyrc.sample
[root@localhost ~]# ls -l

總用量 368
-rwxrwxrwx? 1 user root? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root???? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root???? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root?? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root??? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root???? 48? 9月? 6 13:06 vmware


要改變所屬組,可使用下面命令:

[root@localhost ~]# chown :users conkyrc.sample
[root@localhost ~]# ls -l
總用量 368
-rwxrwxrwx? 1 user users? 12172? 8月 15 23:18 conkyrc.sample
drwxr-xr-x? 2 root root????? 48? 9月? 4 16:32 Desktop
-r--r--r--? 1 root root? 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x? 2 root root????? 48? 8月 12 22:25 MyMusic
-rwxr-xr-x? 1 root root??? 9776 11月? 5 08:08 net.eth0
-rwxr-xr-x? 1 root root??? 9776 11月? 5 08:08 net.eth1
-rwxr-xr-x? 1 root root???? 512 11月? 5 08:08 net.lo
drwxr-xr-x? 2 root root????? 48? 9月? 6 13:06 vmware

?

要修改目錄的權限,使用-R參數就可以了,方法和前面一樣。

轉載于:https://www.cnblogs.com/licheng/p/6104770.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/387491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387491.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web滲透實驗:基于Weblogic的一系列漏洞

1. 攻擊機windows10 192.168.2.104 2. 靶機ip: 192.168.2.109(linux Ubantu) 192.168.2.111(windows2008R264位) 第一步&#xff1a;啟動靶機服務 分別為linux和windows windows環境搭建&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/16KyYb1v1rP9uJ6-5MBotVw   提取…

9 月 19 日,騰訊云安全中心監測到 ?Apache Tomcat 修復了2個嚴重級別的漏洞, 分別為: 信息泄露漏洞(CVE-2017-12616)、遠程代碼執行漏洞(CVE-2017-12615

9 月 19 日&#xff0c;騰訊云安全中心監測到 Apache Tomcat 修復了2個嚴重級別的漏洞&#xff0c; 分別為&#xff1a; 信息泄露漏洞&#xff08;CVE-2017-12616&#xff09;、遠程代碼執行漏洞&#xff08;CVE-2017-12615&#xff09;&#xff0c;在某些場景下&#xff0c;攻…

2.0 STL泛型編程

Standard Template Library 在命名空間std中定義了常用的數據結構和算法 三種類型的組件&#xff1a; 容器&#xff1a; ——vector、string ——set、multiset、map、multimap ——list ——bitset ——stack ——deque、queue、priority_queue 迭代器 算法&…

SQL聯合更新

update CCTDB..Area_Infoset ParentStrb.ParentStrfrom CCTDB..Area_Info a inner join TempArea bon a.AreaId b.AreaId轉載于:https://www.cnblogs.com/davidgu/archive/2012/08/10/2631289.html

集合之ArrayList(含JDK1.8源碼分析)

一、ArrayList的數據結構 ArrayList底層的數據結構就是數組&#xff0c;數組元素類型為Object類型&#xff0c;即可以存放所有類型數據。我們對ArrayList類的實例的所有的操作(增刪改查等)&#xff0c;其底層都是基于數組的。 定義底層數據結構&#xff1a;Object[] elementDat…

2.2 string

字符數組的封裝 基本操作與vector很像&#xff0c;它們內部采用的都是數組結構 #include<string> 創建string對象&#xff1a; string s; 給string對象賦值&#xff1a; 方式一&#xff1a;s"i love coding"; 方式二&#xff1a; char a[256]; scanf(&qu…

Unity3D 自動打包整個項目(以AssetBundle實現)

需求&#xff1a; 在移動開發中&#xff0c;手動控制資源的加載、釋放和熱更新&#xff0c;是很有必要的。 而Unity通過AssetBundle可以實現該需求&#xff0c;但是如果項目資源多起來的話一個個手動打包成AssetBundle則很麻煩。 而本文正為此提供一套一鍵打包的方案。 資源分…

Android復制assets目錄下的圖片到內存

轉自&#xff1a;http://www.chenwg.com/android/android%E5%A4%8D%E5%88%B6assets%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E5%9B%BE%E7%89%87%E5%88%B0%E5%86%85%E5%AD%98.html 有些Android應用需要一些初始化數據&#xff0c;但是考慮到國內這種龜速網絡和高昂的網絡流量費用&…

Python 2.7 cython cythonize py 編譯成 pyd 談談那些坑(轉載)

轉自&#xff1a;https://www.cnblogs.com/ibingshan/p/10334471.html Python 2.7 cython cythonize py 編譯成 pyd 談談那些坑 前言 基于 python27 的 pyc 很容易被反編譯&#xff0c;于是想到了pyd&#xff0c;加速運行&#xff0c;安全保護 必要準備 安裝cython&#xff1a;…

2.3 set

#include<set> 紅黑樹&#xff08;Red-Black Tree&#xff09;&#xff0c;一種平衡二叉檢索樹。 對于插入相同鍵值的情況忽略處理。 set主要用于快速檢索 高效的插入和刪除 multiset、map、multimap都是平衡二叉檢索樹。 創建set集合&#xff1a; set<int> s…

一、創建Assetbundle 在unity3d開發的游戲中,無論模型,音頻,還是圖片等,我們都做成Prefab,然后打包成Assetbundle,方便我們后面的使用,來達到資源的更新。

一、創建Assetbundle 在unity3d開發的游戲中&#xff0c;無論模型&#xff0c;音頻&#xff0c;還是圖片等&#xff0c;我們都做成Prefab&#xff0c;然后打包成Assetbundle&#xff0c;方便我們后面的使用&#xff0c;來達到資源的更新。 一個Assetbundle可以打包一個模型&…

【JS】我的JavaScript學習之路(2)

3.從JavaScript頁面解析過程看執行順序 代碼(test.html)&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/x…

Codeforces 862D. Mahmoud and Ehab and the binary string 【二分】(交互)

<題目鏈接> 題目大意&#xff1a; 有一個長度為n(n<1000)的01串&#xff0c;該串中至少有一個0和一個1&#xff0c;現在由你構造出一些01串&#xff0c;進行詢問&#xff0c;然后系統會給出你構造的串與原串的 Hamming distance &#xff0c;現在要求你按照步驟進行…

王者榮耀提取攻略

1. 王者榮耀安裝后&#xff0c;就將模型等資源解壓到SD卡目錄里&#xff0c;我們需要找到這個目錄。模型資源存儲在SD卡中&#xff0c;路徑為&#xff1a;【/SDCard/Android/data/com.tencent.tmgp.sgame/files/Resources/AssetBundle/】 2. 2 所有英雄的資源包都在這個目…

2.4 multiset

#include<set> multiset與set的唯一不同&#xff1a;允許插入重復的元素。 在插入元素、刪除元素、查找元素上與set 有區別。 multiset元素的插入&#xff1a; multiset<int> ms; ms.insert(11); ms.insert(11); //插入兩個11&#xff0c;遍歷時同樣有兩個11。…

Exchange ActiveSyn身份驗證類型

http://www.exchangecn.com/html/exchange2010/20110125_316.html 配置 Exchange ActiveSync 身份驗證 時間:2011-01-25 11:01來源:Exchange中文站 作者:Exchange中文站 點擊:3045次ActiveSync 身份驗證是客戶端和服務器驗證其身份以進行數據傳輸的過程&#xff0c;本文以示例的…

HotSpot 虛擬機垃圾回收算法實現

作為使用范圍最廣的虛擬機之一HotSpot&#xff0c;必須對垃圾回收算法的執行效率有嚴格的考量&#xff0c;只有這樣才能保證虛擬機高效運行 枚舉根節點 從可達性分析中從 GC Roots 節點找引用鏈這個操作為例&#xff0c;可以作為 GC Roots 的節點主要在全局性的引用&#xff08…

Java NIO編寫Socket服務器的一個例子

最近一直在忙著JAVA NIO的知識&#xff0c;花了一下午的時間&#xff0c;總算寫出了一個可以運行的程序&#xff0c;廢話少說&#xff0c;上代碼&#xff01; Java代碼&#xff1a; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerS…

2.5 map

#include<map> key/value對 采用紅黑樹實現&#xff0c;鍵值不允許重復 用法與set類似 創建map&#xff1a; map<string, float> m; m["haha"] 11.1; m["hehe"] 22.2; for (map<string, float>::iterator it m.begin(); it ! m.en…

在js傳遞參數中含加號(+)的處理方式

一般情況下&#xff0c;url中的參數應使用 url 編碼規則&#xff0c;即把參數字符串中除了 “ - "、" _ " 、" . "之外的所有非字母數字字符都將被替換成百分號&#xff08;%&#xff09;后跟兩位十六進制數&#xff0c;空格則編碼為加號&#xff08;…