<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > linux下的文件和目錄權(quán)限命令的使用說明

          linux下的文件和目錄權(quán)限命令的使用說明

          作者: 時間:2017-06-06 來源:網(wǎng)絡 收藏

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

          通過設定權(quán)限可以從以下三種訪問方式限制訪問權(quán)限:只允許用戶自己訪問;允許一個預先指定的用戶組中的用戶訪問;允許系統(tǒng)中的任何用戶訪問。同時,用戶能夠控制一個給定的文件或目錄的訪問程度。一個文件活目錄可能有讀、寫及執(zhí)行權(quán)限。當創(chuàng)建一個文件時,系統(tǒng)會自動地賦予文件所有者讀和寫的權(quán)限,這樣可以允許所有者能夠顯示文件內(nèi)容和修改文件。文件所有者可以將這些權(quán)限改變?yōu)槿魏嗡胫付ǖ臋?quán)限。一個文件也許只有讀權(quán)限,禁止任何修改。文件也可能只有執(zhí)行權(quán)限,允許它想一個程序一樣執(zhí)行。

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

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

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

          [@localhost ~]# ls -lh
          總用量 368K
          -rw-r--r-- 1 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

          當執(zhí)行l(wèi)s -l 或 ls -al 命令后顯示的結(jié)果中,最前面的第2~10個字符是用來表示權(quán)限。第一個字符一般用來區(qū)分文件和目錄:
          d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的文件。
          -:表示這是一個普通的文件。
          l: 表示這是一個符號鏈接文件,實際上它指向另一個文件。
          b、c:分別表示區(qū)塊設備和其他的外圍設備,是特殊類型的文件。
          s、p:這些文件關(guān)系到系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和管道,通常很少見到。

          下面詳細介紹一下權(quán)限的種類和設置權(quán)限的方法。

          二、一般權(quán)限

          第2~10個字符當中的每3個為一組,左邊三個字符表示所有者權(quán)限,中間3個字符表示與所有者同一組的用戶的權(quán)限,右邊3個字符是其他用戶的權(quán)限。這三個一組共9個字符,代表的意義如下:

          r(Read,讀取):對文件而言,具有讀取文件內(nèi)容的權(quán)限;對目錄來說,具有瀏覽目 錄的權(quán)限。
          w(Write,寫入):對文件而言,具有新增、修改文件內(nèi)容的權(quán)限;對目錄來說,具有刪除、移動目錄內(nèi)文件的權(quán)限。
          x(eXecute,執(zhí)行):對文件而言,具有執(zhí)行文件的權(quán)限;對目錄了來說該用戶具有進入目錄的權(quán)限。
          -:表示不具有該項權(quán)限。

          下面舉例說明:

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

          每個用戶都擁有自己的專屬目錄,通常集中放置在/home目錄下,這些專屬目錄的默認權(quán)限為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

          表示目錄所有者本身具有所有權(quán)限,其他用戶無法進入該目錄。執(zhí)行mkdir命令所創(chuàng)建的目錄,其默認權(quán)限為rwxr-xr-x,用戶可以根據(jù)需要修改目錄的權(quán)限。

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

          三、特殊權(quán)限

          其實文件與目錄設置不止這些,還有所謂的特殊權(quán)限。由于特殊權(quán)限會擁有一些“特權(quán)”,因而用戶若無特殊需求,不應該啟用這些權(quán)限,避免安全方面出現(xiàn)嚴重漏洞,造成黑客入侵,甚至摧毀系統(tǒng)!!!s或S(SUID,Set UID):可執(zhí)行的文件搭配這個權(quán)限,便能得到特權(quán),任意存取該文件的所有者能使用的全部系統(tǒng)資源。請注意具備SUID權(quán)限的文件,黑客經(jīng)常利用這種權(quán)限,以SUID配上root帳號擁有者,無聲無息地在系統(tǒng)中開扇后門,供日后進出使用。s或S(SGID,Set GID):設置在文件上面,其效果與SUID相同,只不過將文件所有者換成用戶組,該文件就可以任意存取整個用戶組所能使用的系統(tǒng)資源。

          T或T(Sticky):/tmp和 /var/tmp目錄供所有用戶暫時存取文件,亦即每位用戶皆擁有完整的權(quán)限進入該目錄,去瀏覽、刪除和移動文件。

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

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

          如果關(guān)閉執(zhí)行權(quán)限,則表示字符會變成大寫:

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

          四、使用文件管理器來改變文件或目錄的權(quán)限:

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

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201706/349381.htm
          五、使用chmod和數(shù)字改變文件或目錄的訪問權(quán)限

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

          r: 對應數(shù)值4
          w: 對應數(shù)值2
          x:對應數(shù)值1
          -:對應數(shù)值0

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

            111 101 100
            再將其每三位轉(zhuǎn)換成為一個十進制數(shù),就是754。
            例如,我們想讓a.txt這個文件的權(quán)限為:
             自己 同組用戶 其他用戶
            可讀 是 是 是
            可寫 是 是
          可執(zhí)行

            那么,我們先根據(jù)上表得到權(quán)限串為:rw-rw-r--,那么轉(zhuǎn)換成二進制數(shù)就是110 110 100,再每三位轉(zhuǎn)換成為一個十進制數(shù),就得到664,因此我 們執(zhí)行命令:

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

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

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

          在文本模式下,可執(zhí)行chmod命令去改變文件和目錄的權(quán)限。我們先執(zhí)行l(wèi)s -l 看看目錄內(nèi)的情況:

          [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文件的權(quán)限是644,然后把這個文件的權(quán)限改成777。執(zhí)行下面命令

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

          然后ls -l看一下執(zhí)行后的結(jié)果:

          [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文件的權(quán)限已經(jīng)修改為rwxrwxrwx
          如果要加上特殊權(quán)限,就必須使用4位數(shù)字才能表示。特殊權(quán)限的對應數(shù)值為:

          s或 S (SUID):對應數(shù)值4。
          s或 S (SGID):對應數(shù)值2。
          t或 T :對應數(shù)值1。
          code>

          用同樣的方法修改文件權(quán)限就可以了
          例如:
          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

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

          [root@localhost ~]# chmod 777 /home/user 注:僅把/home/user目錄的權(quán)限設置為rwxrwxrwx
          [root@localhost ~]# chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的文件和子目錄的權(quán)限都設置為rwxrwxrwx
          六、使用命令chown改變目錄或文件的所有權(quán)

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

          我們先執(zhí)行l(wèi)s -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。
          執(zhí)行下面命令,把conkyrc.sample文件的所有權(quán)轉(zhuǎn)移到用戶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
          要修改目錄的權(quán)限,使用-R參數(shù)就可以了,方法和前面一樣。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();