无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補(bǔ)償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    管理Linux文件權(quán)限和所有權(quán) (1)

    發(fā)布時(shí)間:  2012/8/7 17:47:50

      為了最有效地利用本系列中的文章,您應(yīng)該具有基本的 Linux 知識(shí),并需要準(zhǔn)備一個(gè) Linux 系統(tǒng),用于練習(xí)本文介紹的命令。有時(shí)候不同版本的程序輸出格式不同,因此您所得到的結(jié)果未必總是與這里所示的清單和圖相同。
      用戶和組
      現(xiàn)在,您了解了 Linux 是一個(gè)多用戶的系統(tǒng),每個(gè)用戶屬于一個(gè)主要 組,也可能是附加組。也可以作為一個(gè)用戶登錄,然后使用 su 或者 sudo -s 命令變?yōu)榱硪粋(gè)用戶。Linux 的文件所有權(quán)和訪問授權(quán)是與用戶 id 和組密切相關(guān)的,所以我們要復(fù)習(xí)一下基本的用戶和組信息。
      我是誰?
      如果沒有切換到其他用戶,您的 id 就是登錄時(shí)的。如果切換到其他用戶,在本文的大多數(shù)例子中,您的提示中就會(huì)包括您的用戶 id。如果您的提示沒有包括用戶 id,可以使用 whoami 命令來檢查您當(dāng)前有效的 id。清單 1 顯示了一些例子,說明了提示字符串(來自 PS1 環(huán)境變量)與本文中的其他例子不同。在提示字符串中包含您的 id 是一個(gè)有用的功能。
      清單 1. 決定有效的用戶 id
      /home/ian$ whoami
      tom
      /home/ian$ exit
      exit
      $ whoami
      ian
      我在什么組中?
      類似的,您可以使用 groups 命令找出您在什么組中。使用 id 命令,您可以找出用戶和組信息。添加一個(gè)用戶 id 參數(shù)到 groups 或者 id 來查看該用戶 id 的信息,而并非當(dāng)前用戶 id。查看 清單 2 中的示例。請(qǐng)注意,沒有用戶 id,id 命令也會(huì)顯示 SELinux 上下文和基本 id 信息。
      清單 2. 決策組成員
      [ian@echidna ~]$ id
      uid=1000(ian) gid=1000(ian) groups=1000(ian),505(development),8093(editor)
      context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
      [ian@echidna ~]$ id ian
      uid=1000(ian) gid=1000(ian) groups=1000(ian),8093(editor),505(development)
      [ian@echidna ~]$ groups
      ian development editor
      [ian@echidna ~]$ id tom
      uid=1012(tom) gid=1012(tom) groups=1012(tom),505(development)
      [ian@echidna ~]$ groups tom
      tom : tom development
      [ian@echidna ~]$ su tom
      Password:
      [tom@echidna ian]$ groups
      tom development
      [tom@echidna ian]$ groups ian
      ian : ian editor development
      文件的所有權(quán)和權(quán)限
      如果每個(gè)用戶都有 id 并且是主要組的成員,那么 Linux 系統(tǒng)上的每個(gè)文件都有一個(gè)所有者和與其相關(guān)的組。
      普通文件
      使用 ls -l 命令顯示所有者和組。
      清單 3. 決定文件所有權(quán)
      [ian@echidna ~]$ ls -l /bin/bash .bashrc helloworld.C
      -rw-r--r--. 1 ian  ian            124 Mar 31  2010 .bashrc
      -rwxr-xr-x. 1 root root        943360 May 21  2010 /bin/bash
      -rw-rw-r--. 1 ian  development    116 Nov 30 10:21 helloworld.C
      在這個(gè)特殊的例子中,用戶 ian 的 .bashrc 文件由他自己所有,并且屬于 ian 的主要組。類似的,/bin/bash 由用戶 root 所有,并且位于組 root。但是,helloworld.C 由用戶 ian 所有,但是屬于組 development。用戶名和組名來自不同的名稱空間,所以給定的名稱可能同時(shí)是用戶名和組名。事實(shí)上,很多版本默認(rèn)為每個(gè)新用戶創(chuàng)建一個(gè)匹配的組。
      Linux 權(quán)限模型每個(gè)文件系統(tǒng)對(duì)象有 3 種類型。這些權(quán)限就是讀(r),寫(w)和執(zhí)行(x)。寫權(quán)限包括修改和刪除對(duì)象的能力。此外,這些權(quán)限被分別指定給文件所有者、文件組成員和其他人。
      回到清單 3 第一列,注意,它包括一個(gè) 11 個(gè)字符的字符串。這第 11 個(gè)字符是最近才添加的。我們稍后再討論。第一個(gè)字母描述了對(duì)象的類型(- 在這個(gè)例子中表示普通文件),剩下的 9 個(gè)字母每三個(gè)字母為一組。第一組表示文件所有者的讀、寫和執(zhí)行權(quán)限。- 表示相應(yīng)的權(quán)限沒有被授予。因此,用戶 ian 就可以讀和寫 .bashrc 文件,但是不能執(zhí)行它;而 root 可以讀、寫 和 執(zhí)行 /bin/bash 文件。第二組表示文件組的讀、寫和執(zhí)行權(quán)限。development 組的成員能夠讀或者寫 ian 的 helloworld.C 文件,而其他人只能讀。類似的,root 組中的成員和其他人能夠讀或者執(zhí)行 /bin/bash 文件。
      目錄
      目錄和常規(guī)文件一樣使用相同的權(quán)限標(biāo)識(shí),但是它們的翻譯不同。目錄的讀權(quán)限允許用戶使用該權(quán)限列出目錄內(nèi)容。寫權(quán)限意味著用戶使用該權(quán)限能夠在目錄中創(chuàng)建或者刪除文件。執(zhí)行權(quán)限允許用戶輸入目錄并訪問任意子目錄。沒有執(zhí)行權(quán)限,目錄下的文件系統(tǒng)對(duì)象就是不可訪問的。沒有讀權(quán)限,目錄下的文件系統(tǒng)對(duì)象在目錄清單下就是不可見的,但是如果知道磁盤上對(duì)象的完整路徑,這些對(duì)象仍是可訪問的。清單 4 是說明這些問題的非常人工的例子。
      清單 4. 權(quán)限和目錄
      [ian@echidna ~]$ ls -l /home
      total 32
      drwxr-x---. 38 editor   editor      12288 Nov 30 10:49 editor
      drwxr-x---.  4 greg     development  4096 Nov 30 12:44 greg
      drwx------. 21 gretchen gretchen     4096 Nov 30 11:26 gretchen
      drwxr-xr-x. 41 ian      ian          4096 Nov 30 10:51 ian
      drwx------. 21 ianadmin ianadmin     4096 May 28  2010 ianadmin
      d-wx--x--x. 21 tom      tom          4096 Nov 30 11:30 tom
      [ian@echidna ~]$ ls -a ~greg/.ba*
      /home/greg/.bash_history  /home/greg/.bash_profile
      /home/greg/.bash_logout   /home/greg/.bashrc
      [ian@echidna ~]$ ls -a ~gretchen
      ls: cannot open directory /home/gretchen: Permission denied
      [ian@echidna ~]$ ls -a ~tom
      ls: cannot open directory /home/tom: Permission denied
      [ian@echidna ~]$ head -n 3 ~tom/.bashrc
      # .bashrc
      # Source global definitions
      長清單的第一個(gè)字母表示對(duì)象的類型(d 表示目錄)。用戶 greg 的主目錄有 development 組成員的讀和寫權(quán)限,因此用戶 tom 和 ian 能夠列出目錄。用戶 gretchen 的主目錄沒有 gretchen 組或者其他用戶的讀和執(zhí)行權(quán)限,所以用戶 ian 不能訪問它。用戶 tom 的主目錄有執(zhí)行權(quán)限,但是沒有讀權(quán)限,所以用戶 ian 不能列出內(nèi)容,但是如果知道對(duì)象存在,就可以訪問目錄下的對(duì)象。
      其他文件系統(tǒng)對(duì)象
      ls -l 的輸出可能包含文件系統(tǒng)對(duì)象,而不是文件和目錄,如清單中第一個(gè)字母所示。在后面的文章中我們還會(huì)見到更多,但是現(xiàn)在,只是說明可能的對(duì)象類型。
      表 1. 文件系統(tǒng)對(duì)象類型
      代碼 對(duì)象類型
      - 常規(guī)文件
      d 目錄
      l 符號(hào)鏈接
      c 字符特殊設(shè)備
      b 模塊特殊設(shè)備
      p FIFO
      s 套接字
      第 11 個(gè)字符
      來自 ls 命令中長清單的第 11 個(gè)字符是最近才出現(xiàn)的,所以部分版本仍只顯示頭 10 個(gè)字符。在其他情況下,第 11 個(gè)字符是一個(gè)空格,所以您可能沒有注意到。這個(gè)字符表示是否有替換的訪問方法應(yīng)用到文件。當(dāng)跟隨文件模式位的字符是空格時(shí),就表示沒有替換訪問方法。當(dāng)是一個(gè)可打印字符時(shí),就有替換方法。這個(gè)方法可能是例子的訪問控制清單。GNU ls 使用一個(gè) ‘.’(點(diǎn))來表示文件只有一個(gè) SELinux 安全上下文。有其他替換訪問方法的文件用 ‘+’(加號(hào))表示。
      變更權(quán)限
      添加權(quán)限
      假設(shè)您創(chuàng)建一個(gè) “Hello world” 的 shell 腳本。當(dāng)您第一次創(chuàng)建腳本時(shí),它通常是不可執(zhí)行的。使用 chmod 命令和 +x 選項(xiàng)添加執(zhí)行權(quán)限,如清單 5 所示。
      清單 5. 創(chuàng)建可執(zhí)行的 shell 腳本
      [ian@echidna ~]$ echo 'echo "Hello world!"'>hello.sh
      [ian@echidna ~]$ ls -l hello.sh
      -rw-rw-r--. 1 ian ian 20 Nov 30 13:05 hello.sh
      [ian@echidna ~]$ ./hello.sh
      bash: ./hello.sh: Permission denied
      [ian@echidna ~]$ chmod +x hello.sh
      [ian@echidna ~]$ ./hello.sh
      Hello world!
      [ian@echidna ~]$ ls -l hello.sh
      -rwxrwxr-x. 1 ian ian 20 Nov 30 13:05 hello.sh
      您可以按類似的方法使用 +r 來設(shè)置讀權(quán)限,使用 +w 設(shè)置寫權(quán)限。事實(shí)上,您可以聯(lián)合使用 r、w 和 x。例如,使用 chmod +rwx 將會(huì)設(shè)置文件的所有讀、寫和執(zhí)行權(quán)限。chmod 會(huì)添加尚未設(shè)置的權(quán)限。
      可選性
      您在上面的例子中可能已經(jīng)注意到,執(zhí)行權(quán)限被設(shè)置給所有者、組 和 其他。為了更具可選性,您可以給模式描述加前綴 u 來設(shè)置用戶權(quán)限,g 來設(shè)置組權(quán)限,還有 o 為其他人設(shè)置。需要指出的是 a 設(shè)置所有用戶的權(quán)限,這就相當(dāng)于忽略它。清單 6 顯示了如何添加用戶和組寫和執(zhí)行權(quán)限到 shell 腳本的其他副本。
      清單 6. 有選擇性地添加權(quán)限
      [ian@echidna ~]$ echo 'echo "Hello world!"'>hello2.sh
      [ian@echidna ~]$ chmod ug+xw hello2.sh
      [ian@echidna ~]$ ls -l hello2.sh
      -rwxrwxr--. 1 ian ian 20 Nov 30 13:08 hello2.sh
      刪除權(quán)限
      有時(shí)您需要?jiǎng)h除權(quán)限,而不單單是添加。簡(jiǎn)單地將 + 改變?yōu)?-,就能刪除任何已設(shè)置的指定權(quán)限。清單 7 顯示了如何刪除兩個(gè) shell 腳本上的其他用戶的所有權(quán)限。
      清單 7. 刪除權(quán)限
      [ian@echidna ~]$ ls -l hello*.sh
      -rwxrwxr--. 1 ian ian 20 Nov 30 13:08 hello2.sh
      -rwxrwxr-x. 1 ian ian 20 Nov 30 13:05 hello.sh
      [ian@echidna ~]$ chmod o-xrw hello*.sh
      [ian@echidna ~]$ ls -l hello*.sh
      -rwxrwx---. 1 ian ian 20 Nov 30 13:08 hello2.sh
      -rwxrwx---. 1 ian ian 20 Nov 30 13:05 hello.sh
      請(qǐng)注意,您可以一次改變一個(gè)或者多個(gè)文件的權(quán)限。正如在 topic 103 的文章中看到其他命令一樣,您甚至可以使用 -R(或者 --recursive)選項(xiàng)在目錄和文件上進(jìn)行遞歸操作。
      設(shè)置權(quán)限
      現(xiàn)在已經(jīng)可以添加或者刪除權(quán)限了,您可能會(huì)想,怎樣才能只設(shè)置一些特殊權(quán)限。使用 = 替換 + 或者 - 來完成這個(gè)動(dòng)作。要在上述腳本中設(shè)置權(quán)限,這樣其他用戶就沒有訪問權(quán)利,您可以使用 chmod o= hello* 替換我們用于刪除權(quán)限的命令。
      如果您想對(duì)用戶、組合或其他設(shè)置不同的權(quán)限,您可以通過逗號(hào)分隔不同的表達(dá);例如,ug=rwx,o=rx,或者您可以使用稍后提到的數(shù)字權(quán)限。
      八進(jìn)制權(quán)限
      目前為止,您都是使用符號(hào)(ugoa 和 rxw)來指定權(quán)限。每組中有三個(gè)可能的權(quán)限。您還可以使用八進(jìn)制取代符號(hào)設(shè)置權(quán)限。按這種方法設(shè)置的權(quán)限使用高達(dá) 4 位八進(jìn)制數(shù)字。討論屬性時(shí),我們會(huì)查看第 1 個(gè)數(shù)字。第 2 個(gè)數(shù)字定義了用戶權(quán)限,第 3 個(gè)是組權(quán)限,第 4 個(gè)是其他權(quán)限。這三個(gè)數(shù)字中的每一個(gè)都通過添加所需的權(quán)限設(shè)置來構(gòu)建:讀(4),寫(2)和執(zhí)行(1)。在 清單 5 中的 hello.sh 例子中,創(chuàng)建的腳本有權(quán)限 -rw-r--r--,相當(dāng)于八進(jìn)制 644。設(shè)置每個(gè)人的執(zhí)行權(quán)限將模式改為 755。
      當(dāng)您想要一次設(shè)置所有權(quán)限,而不給予每個(gè)組相同權(quán)限時(shí),設(shè)置使用數(shù)字權(quán)限非常方便。使用 表 2 作為一個(gè)方便的八進(jìn)制權(quán)限參考。
      表 2. 數(shù)字權(quán)限
      符號(hào) 八進(jìn)制
      rwx 7
      rw- 6
      r-x 5
      r-- 4
      -wx 3
      -w- 2
      --x 1
      --- 0
      suid 和 sgid
      Linux 權(quán)限模型有兩個(gè)特殊的訪問模式,名為 suid(設(shè)置用戶 id)和 sgid(設(shè)置組 id)。當(dāng)可執(zhí)行的程序設(shè)置為 suid 訪問模式,它就會(huì)開始運(yùn)行,好像是由文件所有者啟動(dòng)而不是由真正啟動(dòng)它的用戶啟動(dòng)。類似的,設(shè)置為 sgid 訪問模式,程序就會(huì)運(yùn)行,好像啟動(dòng)用戶屬于文件組,而不屬于他所有的組?梢詥为(dú)或者同時(shí)設(shè)置兩個(gè)訪問模式。
      清單 8 顯示了可執(zhí)行的 passwd 由 root 所有:
      清單 8. /usr/bin/

    億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
       聯(lián)系:億恩小凡
       QQ:89317007
       電話:0371-63322206


    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線