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
下一篇 2017-05-30

相關推薦

  • RAID磁盤陣列

                           又是一周走過      &nbsp…

    2017-08-13
  • 關于Linux文件系統的的簡單理解和認識-20160730

    關于Linux文件系統的的簡單理解和認識 關于文件系統的運作,這與操作系統帶的檔案數據有關。例如Linux操作系統的檔案權限(rwx)與文件屬性(擁有者,群組,時間參數等)。文件系統通常會將這兩部分的數據分別存放在不同的區塊,權限與屬性放置到inode中,至于實際數據則放置到date block區塊中,另外,還有一個超級塊區(super block)會記錄整…

    Linux干貨 2016-08-04
  • linux網絡命令與軟件管理

    1、描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景和區別 網橋也叫橋接器,是連接兩個局域網的一種存儲/轉發設備,用來連接不同網段。 集線器稱為“Hub”,主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。 二層交換機工作于OSI模型的第2層(數據鏈路層),可識別數據包中的MAC地址信息,…

    Linux干貨 2016-12-18
  • 馬哥教育網絡班21期-第十周課程練習

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)  a,post:加電自檢,通電搜索并檢查物理設備的狀態  b,bootsequeence(BIOS):選擇啟動順序  c,bootloader(MBR):加載主引導程序 bootloader,硬盤分區表到內存  d,加載內核kernel &nb…

    Linux干貨 2016-10-24
  • nginx相關配置及解釋

    全局配置: user  nginx nginx; #運行程序的用戶和用戶組pid      /var/run/nginx.pid; #主控進程load_module /usr/lib64/nginx/modules/ngx_http_geoip_module.so;#加載模塊 work進程的數量:通常為當前主…

    Linux干貨 2017-05-07
  • RPM軟件包管理器及前端工具yum

    目前在linux系統之上軟件安裝方式最常見的有兩種,分別是: dpkg:這個機制最早是由Debian Linux社區所開發出來的,透過dpkg的機制,Debian提供的軟件就能夠簡單的安裝起來,同時還能提供安裝后的軟件資訊,實在非常不錯。只要是衍生于Debian的其他linux發行版,大多使用dpkg這個機制來管理軟件的,包括B2D、Ubuntu等等。 RP…

    Linux干貨 2016-08-20
欧美性久久久久