閱讀88 返回首頁    go 技術社區[雲棲]


Linux文件權限

一、Linux文件權限

    每個Linux文件具有四種訪問權限:可讀(r)、可寫(w)、可執行(x)和無權限(-)。
    利用ls -l命令可以看到某個文件或目錄的權限,它以顯示數據的第一個字段為
    準。第一個字段由10個字符組成,如下:
        -rwxr-xr-x
    第一位表示文件類型,-表示文件,d表示目錄
    2-4位表示文件所有者的權限,u權限
    5-7位表示文件所有者所屬組成員的權限,g權限
    8-10位表示所有者所屬組之外的用戶的權限,o權限  
    2-10位的權限總和有時稱為a權限

    以上例子中,表示這是一個文件(非目錄),文件所有者具有讀、寫和執行的權限,
    所有者所屬組成員和所屬組之外的用戶具有讀和執行的權限而沒有寫的權限。

    二、文件權限修改----chmod
    1. 用數字表示法修改權限
    所謂數字表示法,是指將r、w和x分別用4、2、1來代表,沒有授予權限的則為0,
    然後把權限相加,如下
  
 原始權限  轉換為數字  數字表示法
 rwxrwxr-x  (421)(421)(401)  775
 rwxr-xr-x  (421)(401)(401)  755

    修改權限的例子:將文件test的權限修改為所有者和組成員具有讀寫的權限,其他
    人隻有讀權限
         chmod 664 test

    2. 用文本表示法修改權限
    文本表示法用4個字母表示不同的用戶:
    u:所有者
    g:組成員
    o:其他成員
    a:所有人
    權限仍用r、w和x表示

    和數字表示法不同,文本表示法不僅可以重新指定權限,也可以在原來權限的基礎上
    增加或減少權限,如下:
    =:重新製定權限
    -:對目前的設置減少權限
    +:對目前的設置增加權限

    例子:講上述例子中,所有者加上執行權限,組成員減少執行權限,其他成員設置為
    執行權限,執行以下命令
    chmod u+x,g-x,o=x test
   
    注意:逗號前後不能有空格

    三、目錄權限
    目錄權限的修改和文件權限修改不同,隻是四種權限代表的含義如下:
    r:可列出目錄中的內容
    w:可在目錄中創建、刪除和修改文件
    x:可以使用cd命令切換到此目錄
    -:沒有任何此目錄的訪問權限

    注意:目錄可以使用通配符"*"來表示目錄中的所有文件,如將/test目錄中的所有文件
    的權限設置為任何人都可以讀寫
        chmod 666 /test/*

    四、指定文件的默認權限掩碼-----umask
    權限掩碼有4個八進製的數字組成,講現有的權限減掉權限掩碼後,即可產生此文件建立
    時的默認權限。
    一般來說,新建文件的默認值是0666,新建目錄的默認值是0777,如果將全線掩碼設置
    為0002,則每個新建文件的默認權限為0666-0002=0664,而目錄的默認權限則為775。
    可以直接輸入umask命令來檢查目前的默認權限掩碼,或輸入"umask 權限掩碼"來指定默
    認權限掩碼。
    用umask的方式指定默認權限掩碼,可以避免添加訪問權限過大的文件或目錄。

最後更新:2017-04-02 17:28:39

  上一篇:go c語言基礎(三)之數據交換
  下一篇:go ImageView倒影效果的兩種方法