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

  • 用數字表示法修改權限

所謂數字表示法,是指將r、w和x分別用4、2、1來代表,沒有授予權限的則為0,然后把權限相加,如下:

原始權限  轉換為數字 數字表示法
rwxrwxr-x (421)(421)(401) 775
rwxr-xr-x (421)(401)(401) 755



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

chmod 664 test
  • 用文本表示法修改權限

  文本表示法用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的方式指定默認權限掩碼,可以避免添加訪問權限過大的文件或目錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM