Linux 文件系統權限

一、簡述權限

 文件系統的權限管理機制的建立,約束了用戶對數據的操作。

1、對系統安全而言

 管理員的操作權限非常大,足以破壞系統,權限機制將管理員與普通用戶之間區分開,防止系統被隨意破壞。

2、對用戶而言

 Linux是一個多用戶的操作系統,不同用戶間為了防止其他人破壞數據或訪問數據,文件系統的權限管理是非常必要的。

二、文件權限說明

  • 文件權限的設定對象分為三類

 1、owner:文件擁有者

 2、group:定義的用戶組

 3、other:其他人

 針對不同對象設定各自的權限

  • 文件權限對于文件的意義

 r (read):可讀取此一文件的實際內容,如讀取文本文件的文字內容等;

 w (write):可以編輯、新增或者是修改該文件的內容(但不含刪除該文件);

 x (execute):該文件可以提請內核啟動為進程。

  • 文件權限對于目錄的意義

 r (read contents in directory)
 表示具有讀取目錄結構列表的權限,可ls 列出文件列表;
 w (modify contents of directory)

 表示具有對目錄結構進行更改的權限

 1.建立新的文件與目錄;

 2.刪除已經存在的文件與目錄(不論該文件的權限為何!)

 3.將已存在的文件或目錄進行更名;

 4.搬移該目錄內的文件、目錄位置。

 x (access directory)

 表示具有進入該目錄的權限。對目錄擁有x權限十分重要,如果沒有該權限,不能在目錄下做任何操作,擁有rx可以使用ls -l 命令;光有w權限,沒有x,不能對目錄結構進行任何改動。

三、權限管理命令

 chmod [OPTION]… MODE[,MODE]… FILE…

 該命令分為三種執行模式

 1、賦權模式:直接操作一類用戶所有權限

 chmod u=,g=,o=

 2、授權模式:操作一類用戶單一權限

 chmod u[+|-],g[+|-],o[+|-]

 3、八進制模式:直接三類用戶權限碼

 chmod 741 FILE

  • 權限碼說明

  權限:八進制:十進制

  r–:100:4

  -w-:010:2

  –x:001:1

 例如,rwxr-xr-x ->755

  • 遞歸選項-R

  • 目錄X權限用法

chmod -R +X /testdir

 遞歸的時候只對目錄加x權限,不對文件加x權限(原文件已具有x權限除外)

四、文件反向掩碼umask

 在Linux上創建新文件的默認權限由umask來決定

  • 新建目錄默認權限

    777-umask

  • 新建文件默認權限

    因為新建文件帶有可執行權限是一件危險的事情,所以Linux上新建文件不允許帶有x權限

    666-umask,結果位如果是奇數(帶有x權限)則將其權限+1

  • umask相關命令

    umask:查看

    umask -S:模式方式顯示

    umask xxx:設定

    umask -p:輸出可被調用

五、文件系統的特殊權限

  •  普通用戶運行passwd程序的問題

 首先講一下安全上下文:

 任何一個可執行程序能否發起,由發起者對其是否有執行權限決定的。

 程序啟動為進程后,進程繼承發起者的屬主屬組。

 當進程訪問文件時,應用繼承而來的身份來執行操作。

 如此一來,普通用戶運行passwd修改自己的密碼時,必然要對/etc/shadow 文件進行讀寫,而我們知道此文件設置的權限極為嚴格,只有管理員用戶才可讀寫,普通用戶運行的passwd進程身份是其他人,無法對此文件讀寫。而實際上我們操作時可以修改自己的密碼,這是因為passwd二進制文件具有特殊文件權限。

-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

  •  特殊權限介紹

 Linux文件系統上有三個特殊權限位,

 setuid,setgid,sticky bit

 權限位上代替x位置,–s–s–t

  • setuid

chmod u+s FILE
chmod u-s FILE

 作用于可執行二進制文件有效。

 表示任何用戶執行該文件發起的進程,繼承文件所有者的身份,而不是發起者。

 讓本來沒有相應權限的用戶運行此類程序時,可以訪問原來沒有權限的資源。

  • setgid

chmod g+s FILE|DIR
chmod g-s FILE|DIR

 作用于可執行二進制文件時,

 表示任何用戶執行該文件發起的進程,繼承文件所屬組的身份。

 作用于目錄時,

 表示在目錄下新建文件的所屬組為此目錄的所屬組

  • sticky bit

chmod o+t DIR
chmod o-t DIR

 只作用于目錄

 表示該目錄下的文件,除管理員和目錄屬主外,其他用戶只可以刪除自己的文件。




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

(0)
cutemsyucutemsyu
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • Linux小工具之cheat

    隨著linux學習的深入,接觸到的命令越來越多,此時,考驗腦力的時候就到了,除非你是”腦王”,否則面對多如牛毛的linux命令,真的會崩潰!linux前輩們貌似也被同樣的問題所困擾,所以,他們發明了cheat。cheat是在GNU通用公共許可證下,為Linux命令行用戶發行的交互式備忘單應用程序。它提供顯示Linux命令使用案例,包括該命令所有的選項和簡短但…

    2017-08-10
  • 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件

    在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看輸出結果 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 …

    Linux干貨 2016-11-06
  • lvs簡介

    一、 LVS簡介         LVS是Linux Virtual Server的簡稱,也就是Linux虛擬服務器, 是一個由章文嵩博士發起的自由軟件項目,它的官方站點是www.linuxvirtualserver.org?,F在LVS已經是 Linux標準內核的一部分,在Linux2.4…

    Linux干貨 2016-10-30
  • 第一周:Linux基礎及哲學思想

    1.現代計算機的組成及功能    現代計算機由運算器、控制器、存儲器、輸入和輸出設備5大部分組成。分別擔當著計算機的計算,控制,存儲,輸入和輸出等功能. 2.Linux的發行版及其之間的聯系與區別     Linux發行版主要分支分為三大系列: Slackware、debian 、redhat  &…

    Linux干貨 2016-06-23
  • bash中的變量

        對任何一門編程語言來說,最基礎的部分就是變量。那什么事變量呢?變量就是把一個已知的可以變動的值,賦給一個固定名字的,用固定的名字代表這個可變動的值。在bash中也不例外,跟大多數編程語言一樣,它也有一些自己的語法和規則 bash變量:     1.規則設置:變量和變量的值中間用=連接,=的兩…

    Linux干貨 2016-08-15
  • bash基礎特性(二)之命令別名,IO重定向,管道

    命令別名alias 別名通俗地說,叫花名,當我們常用的命令,要是輸入太長,或經常要進入的目錄,可以用一個別名來定義它們,定義別名時盡量不要和已有命令名相同。這樣可以提高輸入速度和工作效率。定義別名格式:alias 別名=’原命令 參數’ (要是沒空格,可以不用引號)例如 : alias vi=vim [root@dxlcentOS ~…

    Linux干貨 2017-09-24
欧美性久久久久