linux文件權限

一、前言

在linux中,每個目錄或者文件都有相對應的權限,linux通過文件屬主(user),文件屬組(group),其它人(order)對一個文件或者目錄控制讀寫執行權限,當然在這些基本權限之外還有特殊權限,facl(file access control list)等。

二、文件基本權限

   2.1:屬主、屬組、order概念

      屬主:即文件的擁有者,當創建或復制一個目錄或者文件時,默認是執行此命令的用戶為屬主,用戶所屬的群組為文件或者目錄的屬組。除非使用其它選項(cp命令的選項 -a -p)或者此目錄下有默認屬主或屬組的權限。

      屬組:即一個或多個用戶同屬于一個用戶組對這個文件擁有屬組的權限

       order : 其它人,除屬主和屬組以外的用戶

  2.2:文件屬性

      下面我們看一個文件的屬性,如下

        [root@dns tmp]# \ls -ld mytest        
        d rwx r-x r-x. 4 root root 4096 Aug  2 05:10 mytest
        |  |  |    |     |     |
        文 屬  屬 order  屬     屬
        件 主  組  權    主     組
        類 權  權  限
        型 限  限

  2.3:基本文件權限

     一個文件或者目錄有讀、寫、執行權限。在其中在上圖中,屬主、屬組、order 權限中3位一組。r:表示讀權限(read),w:表示寫權限(write)。x:表示執行權限(execute),- :表示無任何權限。

     r(read):對目錄而言,用戶可以對目錄就有瀏覽權限。對文件而言,用戶可以讀取文件內容

     w(write):對目錄而言,用戶刪除,移動目錄內的文件權限。對文件而言,用戶可以寫文件

     x(execute):對目錄而言,用戶可以進入目錄。對文件而言,用戶有執行文件的權限

     r:可以用數字4表示讀權限,w:可以用2表示寫全些,x:可以用1表示執行權限,-:可以用0表示無權限。那么一個屬主的權限rwx可以表示為4+2+1=7,屬組的權限r-x可以表示為4+0+1=5,order的權限r-x的權限可以表示為4+0+1=5,那么上述mytest的屬主屬組和order權限為755??梢允褂妹頲hmod更改用戶文件權限,如chmod 644 mytest 。chmod的具體用法如下

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

        [root@dns tmp]# chmod -R 700 mytest        #遞歸更改mytest權限
        [root@dns tmp]# ll -d mytest
        drwx------. 4 root root 4096 Aug  2 05:10 mytest
        [root@dns tmp]# chmod 777 a_b
        [root@dns tmp]# ll a_b
        -rwxrwxrwx+ 1 leon leon 0 Aug  2 04:40 a_b

2.4:文件特殊權限

    suid:set uid 權限,任何一個用戶運行一個帶此權限的命令時,不是以此用戶的身份啟動,而是以文件自身的屬主訪問。

[root@dns mytest]# ll `which passwd`
-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd

    sgid : set gid權限,若一個目錄設置了SGID,則所有被復制到這個目錄下的文件, 其所屬的組都會被重設為和這個目錄一樣,除非在復制文件時加上-p (preserve,保留文件屬性)的參數,才能保留原來所屬的群組設置。

[root@dns tmp]# chmod g+s mytest
[root@dns tmp]# ll -d mytest
drwx--S---+ 5 root root 4096 Aug  7 10:05 mytest

   sticky :又稱黏滯位,對一個文件設置了sticky-bit之后,盡管其他用戶有寫權限, 也必須由屬主執行刪除、移動等操作。對一個目錄設置了sticky-bit之后,存放在該目錄的文件僅準許其屬主執行刪除、 移動等操作。

[root@dns tmp]# chmod o+t mytest            #設置sticky權限
[root@dns tmp]# ll -d mytest
drwx--S--T+ 5 root root 4096 Aug  7 10:05 mytest

 

 三、ACL權限

FACL(file access control list)文件系統訪問控制列表,在基本的文件權限之后,由ACL控制權限來控制文件權限,FACL可以設置多個用戶或者組對文件或目錄的權限,包括一個目錄下各文件的默認權限。用法如下

getfacl - get file access control lists
getfacl [-aceEsRLPtpndvh] file ...
setfacl - set file access control lists
setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

[root@dns tmp]# getfacl a_b        #查看a_b的acl權限
# file: a_b
# owner: leon
# group: leon
user::rwx
user:leon:rw-
group::r--
mask::rwx
other::rwx
[root@dns tmp]# setfacl -m u:gentoo:rw- a_b    #添加gentoo訪問控制權限
[root@dns tmp]# getfacl a_b
# file: a_b
# owner: leon
# group: leon
user::rwx
user:leon:rw-
user:gentoo:rw-                                #gentoo訪問控制權限
group::r--
mask::rw-
other::rwx

[root@dns tmp]# setfacl -m d:u:gentoo:rwx mytest   #設置文件夾的默認權限
[root@dns tmp]# getfacl mytest
# file: mytest
# owner: root
# group: root
user::rwx
group::---
other::---
default:user::rwx                                   #默認權限,
default:user:gentoo:rwx
default:group::---
default:mask::rwx
default:other::---

四、總結

文件或目錄通過基本權限控制用戶或者進程訪問,基本權限不能滿足用戶需求的情況下可以設置特殊權限和FACL權限,在線上環境時,不能隨便設置777的權限,可以通過FACL設置某個用戶rwx的權限??傊?,文件系統的權限一定要把控好,否則將存在嚴重的安全隱患。 

原創文章,作者:成吉思汗,如若轉載,請注明出處:http://www.www58058.com/6978

(0)
成吉思汗成吉思汗
上一篇 2015-08-13
下一篇 2015-08-17

相關推薦

  • 0801課堂練習與作業

    1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中      cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out 2、將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文…

    Linux干貨 2016-08-02
  • Linux軟件包管理器—rpm

    rpm 最開始是Red Hat Package Manager 之意,原用在Red Hat Linux一款軟件包管理器,先在已被許多其他Linux 發行商使用,成為主流包管理器,rpm包的文件格式也寫進Linux標準庫中,所以rpm 現在遞歸意為RPM Package Manager。rpm的誕生使得在Linux上管理軟件包變得方便許多,rpm功能強大,可完成構建、安裝、查詢、校驗、升級和卸載軟件包。

    Linux干貨 2016-08-26
  • bash腳本編程之數組、高級字符串處理、高級變量操作、用戶環境配置

    概述:     承接之前腳本編程部分,本篇將介紹一下腳本編程基礎語法的最后一部分內容,具體分為:         1、數組簡介         2、高級字符串處…

    Linux干貨 2016-08-24
  • rpm包管理與yum簡要用法

    linux程序包管理 程序包:源代碼 –> 目標二進制格式(二進制程序、庫文件、配置文件、幫助文件)–> 組織成一個或有限的幾個包文件 程序包管理器:        debian –> dpkg   以“.deb”結尾 &nb…

    Linux干貨 2016-08-22
  • 步入LINUX

    初次融入LINUX的環境。。。

    Linux干貨 2018-03-26
  • 進程管理

    進程管理 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能 用戶模式(空間),內核模式(空間) Process(進程):運行中的程序的一個副本         存在生命周期 task struct:內核的結構體 Linux內內核存儲進程信息的固定格式:tas…

    Linux干貨 2016-09-10

評論列表(2條)

  • stanley
    stanley 2015-08-17 11:27

    贊,應該首次寫文章吧,分類和標簽都有,意識非常強

  • zhangwu0801
    zhangwu0801 2015-08-20 11:04

    好東西 感謝分享和付出 。。

欧美性久久久久