文件權限管理–詳解

進程安全上下文

進程安全上下文:
    進程對文件訪問權限應用模型
    進程的屬主與文件的屬主是否相同,如果相同則運行屬主權限
    進程的屬主與文件的屬主不相同,對比屬組權限是否相同,相同則應用屬組權限
    進程的屬主既不是文件的屬主也不是同一屬組,則應用其他人權限

九個字段RWX-RWX-RWX
        前三個是屬主
        第二個是屬組
        第三個是其他人
        R:讀
        W:寫
        X:執行

自己理解的:進程是用戶的代理,代理用戶去訪問資源,繼承用戶的—所有者和所屬組。某用戶對文件或資源的訪問權限,只的是進程以uid和gid身份去訪問獲取資源。系統用進程的uid和gid對比資源的三類用戶(ugo)權限(rwx),實現權限分配管理。

對于文件
        R:可獲取文件的數據
        W:可修改文件的數據
        X可將此文件運行為進程,普通文件沒有執行權限
對于目錄:
        R:可使用ls命令獲取其下的所有文件列表,但是不包括詳細信息不能使用ls -l
        W:可以膝蓋此目錄下的文件列表,即創建刪除文件
        X:可以cd至此目錄中,可使用ls -l

八進制權限表示法:r=4 w=2 x=1

        --- 000 0
        --x 001 1
        -w- 010 2
        -wx 011 3
        r-- 100 4
        r-x 101 5
        rw- 110 6
        rwx 111 7

三位數字,每個數字分別表示相應的權限如:777,664,640,600,755,750,775

注意:

    ****用戶僅能修改屬主為自己的那些文件的權限

    ****只有root用戶能修改別人文件的權限
    ****只有root用戶能夠修改文件的屬主和屬組

Linux權限管理命令

修改文件權限:chmod

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

三種mode

修改權限(一)chmod [OPTION]... MODE[,MODE]... FILE...
    1、修改一類用戶的所有權限-------覆蓋修改權限
     u=
     g=
     o=
     ug=
     a=      代表所有用戶
     u=,g=

        等號后面是=rwx
        注修改權限,可以單一用戶的賦權,如果兩類用戶一樣權限一樣也可一起賦權。等號后面為空,是取消該用戶的所有權限。---------覆蓋式授權
        等號=后面的值可以是wrx中任意幾位或空
    2、修改一類用戶某位或某些位權限------------追加權限
     u+
     u-
    注:可以針對單一用戶的三種權限中的一位進行添加或刪除,三類用戶都需要添加或刪除同一權限可用寫在一起 ug+wr或u+wr,g+wr


修改權限(二)2、chmod [OPTION]... OCTAL-MODE FILE...
                chmod 576 file


修改權限(三)chmod [OPTION]... --reference=RFILE FILE...
    參考RFILE文件的權限,將FILE的修改為同RFILE;


[option] 常用選項為-r遞歸改變文件權限

修改文件權限:install

install - copy files and set attributes
            復制并設置文件屬性、

    install [OPTION]... [-T] SOURCE DEST      單源復制
    install [OPTION]... SOURCE... DIRECTORY   多源復制
    install [OPTION]... -t DIRECTORY SOURCE...多源復制
    install [OPTION]... -d DIRECTORY..        創建目錄

[常用選項]
        -m --mode=MODE      設定文件的權限
        -o --owern=USERNAME 設定文件的屬主
        -g --group=USERNAME 設定文件的屬組
        -d                  創建權限

修改文件的屬主和屬組:

    chown [OPTION]... [OWNER][:[GROUP]] FILE...
            用法:
                OWNER ---------------修改屬主
                OWNER:GROUP----------修改屬主和屬組
                :GROUP---------------僅修改屬組
                注: 命令中的冒號可用.替換;
            -R: 遞歸

    chown [OPTION]... --reference=RFILE FILE...
        參考文件的屬主和屬組更改目標文件的屬主和屬組

    修改文件的屬組:chgrp
        chgrp [OPTION]... GROUP FILE...
        chgrp [OPTION]... --reference=RFILE FILE...
        -R

umask

文件或目錄創建時的遮罩碼:umask

    從目錄或文件上屏蔽掉最大權限相應位,從而得出默認的權限。

    文件: 666-umask

        666-umask結果中出現奇數的加1,偶數的不變,-1為0。

    目錄: 777-umask   

    umask: 查看

    umask #: 設定

    umask ug=rwx 0=    表示希望新建文件的全顯示就是ug=rwx g=

    umask–S 模式方式顯示
    [user2@localhost /]$ umask -S
    u=rwx,g=rwx,o=rx

    umask–p 輸出可被調用
    umask 234

    全局設置:/etc/bashrc
    用戶設置:~/.bashrc

    Linux上的一般文件通常是不需要執行權限的,一般文件有執行權限容易給系統帶來安全風險。
    修改umask只對當前shell有效

linux系統上的特殊權限

    SUID:
        默認情況下,用戶發起的進程,進程的屬主不是其發起者;因此是不是以其發起者的身份運行,                                                
        而是以文件自己的屬主身份運行。

        SUID的功能:用戶運行某程序時,如果此程序擁有SUID的權限,程序以其屬主身份運行
        passwd命令具有SUID
        一般情況下,不建議給程序設置SUID,風險較大。
        有執行權限的為小寫的s
        沒有執行權限的為大寫S

        chmod 設置SUID
            chmod u+/-s file
            chmod 4777 file
SGID:

    1、作用于目錄
    一般用戶創建目錄時應用此權限的目錄,其他用戶在此目錄下創建文件的屬組為SGID組。不是用戶的主組

    2、作用在二進制文件,還是以進程發起者的身份運行。只是該進程繼承了該程序屬組的權限。
        該程序,訪問文件時,所有者不匹配,開始匹配所屬組。匹配的是進程的屬組,而不是進程發起者的基本組。

    chmod設置SGID
            chmodg +s DIR...
            chmodg -s DIR...

STICKY
    功能:對于屬組或全局可寫的目錄組內的所有用戶或系統上的所有用戶在此目錄中都能創建新文件或刪除文件;如果為此類目錄設置sticky權限,則每個用戶能創建文件,且只能刪除自己的文件。
    chmod設置STICKY
        chmod o+t DIR...
        chmod o-t DIR...
    如果其他用戶原本有執行權限則是小寫t
    否則是大寫T
    系統上的/tmp和/var/tmp均有STICKY權限


管理特殊權限的另一種方式
        000    0
        001    1
        010    2
        011    3
        100    4
        101    5
        110    6
        111    7
        chmod  1755
       
       

----------


根據個人理解制作了導圖,如有錯誤請指正。

文件權限模型.jpg特殊權限.jpg

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

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

相關推薦

  • RAID(重要)

    RAID   RAID(Redundent Array of Independent Disk):獨立的冗余磁盤陣列,目的是為了結合多個物理驅動器組成單個單元,提高了磁盤的性能或保證數據冗余。RAID能夠防止硬件的故障導致數據丟失,但是不能防止人為操作,軟件故障、惡意軟件感染等造成的數據丟失,因此不能替代備份。 分類有:硬件實現RAID(一是外接式磁盤陣列柜…

    Linux干貨 2016-08-30
  • Mariadb數據庫備份恢復系列(三):xtrabackup物理備份工具之增量備份

       實驗三:利用xtrabackup+二進制日志實現增量備份和恢復數據庫 本例中實現的是將所有的增量日志都通過apply-log的步驟同步到完全備份文件中,如果希望利用增量日志還原到固定某次增量備份的數據,則不能使用本例中方式對所有的備份都進行apply-log操作,如果希望利用增量日志還原到固定哪次增量備份的數據,則將最初的完全備份的數據、和期望還原到某…

    Linux干貨 2016-11-24
  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who | cut -d' ' -f1| uniq -u  執行前的情況:  執行后的情況:    &nbsp…

    Linux干貨 2016-09-06
  • 集中管理利器-puppet快速入門-下

    Puppet配置 1.    文件管理 file 文件服務器寫法: /etc/puppet/ fileserver.conf 定義 [files] path /tmp/files  ## puppet數據存放目錄 =è后面遠程備份實戰會用到 allow *.example.com 實戰1: 備份master機…

    Linux干貨 2015-05-07
  • ?HA專題: Corosync+Pacemaker+drbd實現MySQL高可用

    HA專題: Corosync+Pacemaker+drbd實現MySQL高可用 前言 實驗拓撲 實驗環境 實驗步驟 安裝前準備工作 配置DRBD 配置MySQL 配置Corosync+Pacemaker 測試 我遇到的問題 總結 前言 上篇文章我們介紹了drbd的相關原理、編譯安裝、簡單的實現. drbd雖然可以保證數據的可靠性但是我們上次的實現還…

    Linux干貨 2016-04-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-05 11:21

    對命令的總結很詳細,如果能對特殊權限的應用場景有一些模擬會讓你對各個權限理解會更深刻哦。

欧美性久久久久