Linux的文件權限(一)

Linux的文件權限

在Linux的世界里,一切皆文件,用文件代表了系統的所有數據。既然文件那么重要,自然會給文件賦予一定的權限,要不然每個人都可以亂來,那系統會十分危險。所以文件的所有者會給文件設定權限,每個用戶在自己權限的范圍下做各自的操作。

我們可以先用 ll-d 查看一下文件的權限

Linux的文件權限(一)

第一位代表著問價類型,d 代表著是目錄文件,后面九位代表著權限。其中三位為一組,一共分為三組。分別代表著所有者,所屬組,其他三種不同類型的身份。

所有者:就是這個文件的擁有者,文件歸所有者所有,他有權更改所有用戶用文件的權限。 所屬組:就是所有者對所在的組設定的權限,這個權限將適用于該組的所有成員。 其他:就是除了以上兩種的其他成員。

每組成員分為三個常駐的普通權限:

r read  可讀
w write 可寫
x excut 執行

在上圖中發現又的地方顯示的是 — ,這意味著對應的成員沒有該權限。 這些權限也可以用十進制的數字來表示 把三組分開,分成三位的二進制來看,有權限代表1,為無權限代表0,那么

r--
100  二進制   4  十進制

-w-
010  二進制   2  十進制

--x
001  二進制   1  十進制

所以rwx用數字分別表示為421,每個組的權限就是該組權限對應的數字相加和。比如上圖中所有者的權限為rwx,用十進制表示為7,1.txt的文件權限就是755。

當然,生產環境中,文件的所有者并不一定是root ,有可能只是一個普通用戶,那么當普通用戶所設的權限對root有什么影響呢。

Linux的文件權限(一)

由圖可以看出,即使所有者沒給root分權限他依舊可以讀寫操作。經過多次的實驗,發現讀寫權限對于root是無效的,但是無論哪個用戶擁有執行權限,root一樣也會有執行權限,所有人沒執行權限,root一樣也沒有。

在做實驗時引出了權限操作的兩個命令:

chgrp:chgrp命令用來改變文件或目錄所屬的用戶組。
    -c或——changes:效果類似“-v”參數,但僅回報更改的部分;
    -f或--quiet或——silent:不顯示錯誤信息;
    -h或--no-dereference:只對符號連接的文件作修改,而不是該其他任何相關文件;
    -R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理; 
    -v或——verbose:顯示指令執行過程;
    
    
chmod:用來變更文件或目錄的權限。
    -c或——changes:效果類似“-v”參數,但僅回報更改的部分; 
    -f或--quiet或——silent:不顯示錯誤信息;
    -R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理; 
    -v或——verbose:顯示指令執行過程;

在命令執行過程成對權限的改變和指定需要提及用戶:

更改權限 chmod  who opt per file
    who:u  g  o  a
    opt:+ - =
    per:r w x

示例:

Linux的文件權限(一)

對于只有讀權限時,用戶對文件只能讀取其中的內容,其他什么都不能做。

Linux的文件權限(一)

當對文件設置只寫權限時,用戶差看不到文件 ,但是可以寫入文件。

Linux的文件權限(一)

刪除文件可以用rm命令來刪除。刪除命令本身與用戶文件的權限無關,而是對文件父目錄的權限有關。當對父目錄沒有執行權限的時候,文件一樣不能刪除。

Linux的文件權限(一)

Linux的文件權限(一)

當用戶對文件沒有查看權限,但是有執行權限的話,用戶還是能進入目錄里,但是看不見目錄里面的內容。如果用戶知道目錄里的內容并對內容的文件有權限的話,用戶依然可以對內容里的文件進行操作。

當用戶對文件只有讀權限的話,用戶只能看見文件的內容,其余什么操作都不能做。

文件創建時如果輸入的權限位數不夠,或者是設置文件權限時位數不夠,則文件權限默認補位為前面補位,并且補0.

Linux的文件權限(一)

在三個權限的數字可以看出,如果權限為奇數的話,文件肯定有執行權限,如果為偶數的話,肯定沒執行權限。

講權限就不得不說umask值,這是個神奇是數字。他關系到用戶創建的默認權限,一般用戶的默認umask值為002,管理員為022。

計算文件的權限: umask+default permission=777(目錄)|666(文件)

在創建時時文件跟目錄的權限時不同的,少一個1,也就是少個執行權限。這也是為了安全,如果每個文件創建時默認都有執行權限,那么久可以隨意破壞系統,給管理員帶來布標的麻煩。

但如果吧umask值設的有奇數的話,為了保證原來的思想。對于文件而言又附加了一跳程序。

666-umask,如果為奇數,加1。偶數不變。

最后再說一下二進制文件,碎玉二進制文件要是沒有讀權限一樣能執行。 在文件中,要是沒有讀權限,查看不了文件類型。

Linux的文件權限(一)

原創文章,作者:phosphor,如若轉載,請注明出處:http://www.www58058.com/77110

(0)
phosphorphosphor
上一篇 2017-05-29 19:59
下一篇 2017-05-30 14:05

相關推薦

  • 文件的元數據

    2018-03-11

    2018-03-11
  • Linux基本命令

    基本命令 1、用戶 1、  root  :超級用戶 2、  普通用戶(生產環境一般使用普通用戶) 2、終端terminal 1、  設備終端 :鼠標、顯示器 2、  物理終端 (/dev/console): 1.       控制臺 3、 …

    Linux干貨 2017-04-17
  • Linux網絡管理之網卡別名及網卡綁定配置

    在日常的運維工作當中,有時候需要在一塊物理網卡上配置多個IP地址,這就是網卡子接口的概念,以及多塊網卡實現網卡的綁定,通俗來講就是多塊網卡使用的一個IP地址,下面我來詳細說明實現的過程。 &創建網卡子接口 在CentOS系統當中網絡是由NetworkManager這個服務來管理的,它提供了一個圖形的界面,但此服務不支持物理網卡子接口的設置,所以在配置網卡子接…

    系統運維 2016-09-02
  • 軟件包管理

      軟件運行環境       API:Application Programming Interface         POSIX :Portable OS      碼程序源代碼 –>預處理 –> 譯…

    Linux干貨 2016-08-29
  • rpm

    軟件運行環境 API:Application Programming Interface     POSIX:Portable OS 程序源代碼–> 預處理–> 編譯–> 匯編–> 鏈接   &nb…

    Linux干貨 2016-08-21
  • keepalived+varnish+haproxy+LNAMP

      nfs: 192.168.1.40 rp1: 192.168.1.41 rp2: 192.168.1.42 mariadb: 192.168.1.43 web1: 192.168.1.110 web2: 192.168.1.111 app1: 192.168.1.112 app2: 192.168.1.113 實驗效果:用keepalived高…

    2018-02-18
欧美性久久久久