權限管理

linux文件權限:

    在linux系統中,每個文件或目錄都包含有相應的權限,這些權限決定了哪些用戶或組能夠對此文件做哪些操作,如讀取、刪除、寫入等操作

文件權限分為三類:r,w,x

    應用于文件:

        r:只讀,只能查看其文件的內容,例如使用cat命令查看

        w:寫入,能修改其文件的內容,但不能刪除,也無法查看內容

        x:執行,可執行的二進制程序或者腳本文件

    應用于目錄:

        r:能夠查看其目錄下的文件,但無法查看詳細信息

        w:可以在目錄下創建或者刪除文件,需要配合x權限

        x:可以進入目錄,可訪問目錄下的內容

    X:只對目錄的x權限生效,文件不生效

當我們使用ls -l命令查看文件或目錄時會列出一系列的屬性信息:

2016-08-04_215014.png

最左側一列由十位組成,其中第一位表示文件的的類型,d表示目錄文件,-表示普通文件,等等

其余九位表示文件的權限,其中每三位一組,分為三組,自左而右匹配,第一組表示文件屬主的權限,第二組表示文件屬組的權限,第三組則為其他用戶的權限

修改文件的屬主或屬組:

chown:修改文件的屬主或屬組

    -R:遞歸,對目錄下所有子文件及目錄全部生效

    –reference:參考文件的屬主屬組,將文件的屬主或屬組與某一文件設定一致

     chown owner FILE:修改文件的屬主

    chown :group FILE:修改文件的屬組

    chown owner:group:修改文件的屬主與屬組

2016-08-04_221320.png

chgrp:修改文件屬組,由于chown包含了此命令的功能,在此不做介紹

權限的八進制表示法:

    — 000 0

    –x 001 1

    -w- 010 2

    -wx 011 3

    r– 100 4

    r-x 101 5

    rw- 110 6

    rwx 111 7

    例如:

    640等于rw-r—–

    755等于rwxr-xr-x

chmod:權限管理

    -R:遞歸,修改目錄下所有文件及目錄的權限

    –reference:參考某文件的權限,將文件的權限設定與指定文件權限一致

三類用戶:

    u:文件屬主

    g:文件屬組

    o:其他用戶

    a:表示所有

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

權限表示法:

    賦權表示法:直接操作一類用戶的所有權限位(可組合)

        u=

        g=

        o=

        a=

     授權表示法:操作一類用戶的一個或多個權限位(可組合)

        u+,u-

        g+,g-

        o+,o-

        a+,a-

     八進制表示法:直接使用八進制對所有權限位進行賦權

        如777表示權限為rwxrwxrwx

        755表示rwxr-xr-x

        644表示rw-r—–

umask:文件權限的反向掩碼,創建文件或目錄時設定的默認權限

    umask:查看當前umask值

2016-08-04_223720.png2016-08-04_223808.png

    umask MASK:修改umask值,只對當前shell進程有效,如果想永久有效 需要在配置文件當中定義umask值

2016-08-04_224125.png

默認創建文件:666-umask值

默認創建目錄:777-umask值

特殊權限:SUID,SGID,Sticky

安全上下文:

    1.當用戶要發起某個程序為進程時,首先此用戶要對此程序文件具有執行權限才行

    2.當程序被發起為進程時,進程的屬主是發起者的屬主,屬組則為發起者的屬組

    3.當進程去訪問某文件時,權限取決于發起此進程的用戶的權限

        (1)當進程的屬主與文件的屬主所匹配,則應用屬主權限

        (2)當進程的屬主屬于文件的屬組,則應用屬組權限

        (3)應用other權限

SUID:如果一個可執行程序擁有SUID,當此程序被啟動為進程時,進程的屬主不再是發起者,而是程序自身文件的屬主,SUID只對二進制程序有效

權限設定: chmod u+s FILE

      chmod u-s FILE

      注意:如果屬主位擁有x權限,則SUID表示為小s,否則為大S

2016-08-04_225755.png

SGID:當一個可執行程序擁有SGID,此程序運行為進程時,屬主不是發起者,而是原文件的屬組

    當一個目錄擁有SGID,則目錄下新建文件的屬組同此目錄的屬組一致

權限設定:

    chmod g+s FILE|DIR

    chmod g-s FILE|DIR

    注意:如果此程序文件的屬組位擁有x權限,則SUID表示為小s,否則為大S

2016-08-04_231440.png

Sticky:如果一個目錄具有寫權限,意味著所有用戶都可以任意添加刪除目錄下的文件,如果添加Sticky權限,則只有文件的所有者或root才能刪除該文件

權限設定:

    chmod o+t DIR

    chmod o-t DIR

    注意:如果此目錄的other位擁有x權限,則SUID表示為小t,否則為大T

特殊權限八進制表示法:

    000 0

    001 1

    010 2

    011 3

    100 4

    101 5

    110 6

    111 7

2016-08-04_232850.png

chattr:設定文件特定屬性:

    -i:鎖定文件,只能讀取文件,不能修改、刪除、移動

    -A:鎖定文件訪問時間戳

    -a:只能增加

lsattr:查看文件特定屬性

2016-08-05_084808.png

FACL:File Access Control List即文件訪問控制列表,在原有的u,g,o之外,另一層讓普通用戶能控制賦權給另外的用戶或組的賦權機制,主要用于實現權限的靈活管理。

權限匹配安全模型:

    當程序被運行為進程時,以運行此進程的用戶的身份去完成所有操作

    1.當用戶以某進程訪問文件時,首先判斷此進程的屬主與文件屬主是否一致,如果一致,則應用屬主權限,否則,進入第二步

    2.檢查此進程的屬主是否有特定的FACL權限,如果有,則應用,否則,進入第三步

    3.檢查此進程的屬主是否屬于文件的屬組,如果屬于,則應用屬組權限,否則,進入第四步

    4.檢查此進程的屬主所屬的組是否有特定的FACL權限,如果有,則應用,否則,進入最后一步

    5.應用other權限

setfacl:設定facl權限

    setfacl -m u:USERNAME:MODE FILE | DIR:對文件或目錄設定某個用戶特定的FACL

2016-08-07_134302.png

    setfacl -m g:GROUPNAME:MODE FILE | DIR:對文件或目錄設定某組特定的FACL

2016-08-07_134500.png

    setfacl -M ACL.FILE FILE | DIR:讀取指定文件中的FACL列表

2016-08-07_134610.png

    setfacl -R u:USERNAME:MODE DIR:對目錄下所有文件都設置FACL 

    setfacl -m d:u:USERNAME:MODE DIR:對目錄下后續創建的文件設定默認FACL

2016-08-07_134852.png

    setfacl -x u:USERNAME:MODE FILE | DIR:撤銷某個FACL權限

    setfacl -X XACL.FILE FILE | DIR:通過文件中定義的FACL列表來撤銷FACL權限

    setfacl -k DIR:撤銷目錄上的默認FACL權限

    setfacl -b FILE | DIR:清空所有FACL列表

getfacl:可查看FACL權限列表

    getfacl FILE | DIR:查看文件或目錄的FACL權限列表

    getfacl FILE1 | setfacl –set-file=- FILE2:復制FILE1文件的FACL給FILE2文件

mask:控制FACL權限的邊界,只影響除了屬主和other以外的所有權限

用戶或組的權限必須在mask設定范圍之內才會生效

設定mask權限:

    setfacl -m mask::rx FILE

2016-08-07_135240.png

備份FACL列表:    

    getfacl -R /tmp/dir1 > acl.txt

    setfacl -R -b /tmp/dir1

    setfacl -R –set-file=acl.txt /tmp/dir1

    getfacl -R /tmp/dir1

2016-08-07_135817.png

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

(0)
zhai796898zhai796898
上一篇 2016-08-07 22:05
下一篇 2016-08-07 22:05

相關推薦

  • 第二周 Linux基礎命令入門(二)

    1、描述Linux上的文件管理類命令并詳解。 2、描述Bash的工作特性。 3、描述文件的元數據信息詳解。 4、描述命令別名的使用。 5、詳解文件通配符。

    Linux干貨 2017-12-18
  • SElinux

    selinux  配置文件 修改   就要重啟 targeted:用來保護常見的網路服務,僅有限進程受到selinux控制,只監控容易被入侵的進程。 targeted  慢慢完善的法律 系統默認使用   targeted     CENTOS6 CENTOS7 ZAI &nbsp…

    Linux干貨 2016-09-14
  • 基于Cobbler實現多版本操作系統自動部署

    前言     在生產環境中,當需要批量部署幾十甚至上百臺服務器時,實現自動化安裝操作系統尤為重要,按照傳統的光盤引導安裝是不可想象的;此前我們通過pxe+kickstart簡單實現了自動化安裝,但只能實現單一版本安裝,當需要部署不同版本或不同引導模式(BIOS、EFI)時,此種方式就不夠靈活。而Cobbler正是為了解…

    Linux干貨 2015-08-11
  • 基于centos7的http的應用

     練習:分別使用CentOS 7和CentOS 6實現以下任務         (1) 配置三個基于名稱的虛擬主機;             (a) discuzX             …

    Linux干貨 2016-10-12
  • LVS DR模型演示

    LVS DR模型演示 環境介紹: Directory     DIP eth0    10.1.249.158     VIP eth0:0  10.1.249.111 rs1  &nbsp…

    2016-10-30
  • 推薦-使用Ansible部署LAMP環境

    使用Ansible部署LAMP環境 使用Ansible部署LAMP環境 前言 實驗環境 實驗步驟 配置ssh公鑰認證 安裝ansible 配置host iventory 創建YAML文件 運行Ansible-Playbook并測試 總結 前言 這兩天學習了Ansible, 在部署實驗環境真的很好用, 今天向大家分享如何使用Ansible部署LAMP環境, 本…

    Linux干貨 2016-04-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-07 23:33

    文章思路清晰,從權限模型到特殊權限都有著自己的操作和理解。

欧美性久久久久