文件的從屬權限和特殊權限

基礎權限

  rwx

    經過今天的洗禮,了解了文件的權限位(rwx),而權限對于目錄和文件有著不同的意義

    使用ls -l 命令后可以看到

    -rw-r–r–. 1 root root 10033 8月   2 03:44 install.log.syslog

    橫線部分是十個位置,-代表文件類型,剩余九位,每三位為一組,從左到右分別是文件的屬主

    (u)rwx,文件的屬組(g)rwx,其他用戶(o)rwx,

    rwx:讀,寫,執行

    rwx對文件

    r,如果一個用戶對一個文件擁有“讀”權限后,代表此用戶可以瀏覽這個文件的內容

    w,如果一個用戶對一個文件擁有“寫”權限后,代表此用戶可以修改和刪除這個文件的內容,但是不能刪除這個文件本身

    x,如果一個用戶對一個文件擁有“執行”權限后,代表此用戶可以運行此文件(這個相當危險的,不建議隨便給用戶x權限)

    rwx對目錄

    r,如果一個用戶對一個目錄擁有“讀”權限后,代表此用戶可以瀏覽這個目錄中的文件列表

    w,也不可以修改這個目錄中的文件內容

    x,如果一個用戶對一個目錄擁有“寫”權限后,代表此用戶可以在這個目錄中創建新的文件與目錄;刪除已經存在的文件與目錄(不論該文

    件的權限為何?。⒁汛嬖诘奈募蚰夸涍M行更名;搬移該目錄內的文件、目錄位置。對目錄來講不建議隨便給一個用戶用于w的權限

    如果一個用戶對一個目錄擁有“執行”權限后,代表此用戶可以進入這個目錄中,并且在擁有讀,寫權限的情況下可以瀏覽目錄中的文件列

    表,也可以在目錄中創建新文件,如果一個用戶對一個目錄沒有執行權限的話,那么這個用戶就無法cd進此目錄,而且也無法執行讀,寫,

    即使是在對此目錄擁有讀寫權限的情況下也罷,對目錄來講建議給用戶x權限

   

  相關操作命令:

    賦權

    chmod u=rwx,g=rw,o=x file

    授權

    chmod u+rwx,g+rwx,o+rwx file

    八進制

     每個權限組的r=4,每個權限組的w=2,每個權限組的x=1

    chmod 660 file

默認權限

 umask

    umask是新建文件的默認權限,

   umask

    對文件來將666-umask(默認002)=文件的權限(普通用戶),666-umask(默認022)=文件的權限(管理員)

    對目錄來講777-umask(默認002)=目錄的權限(普通用戶),777-umask(默認022)=目錄的權限(管理員)

    相關操作命令

    直接鍵入 umask 可以查看umask值    

    umask -S 模式方式顯示

    [root@ali ~]# umask -S

    u=rwx,g=rx,o=rx

    umask -p 輸出,可被調用

    [root@ali ~]# umask -p

    umask 0022

    修改方法

    umask 數值(八進制)

    umask u=rw,g=r,o=

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

    如果所得結果某位存在執行權限(奇數),則將其權限加1

三種特殊權限

    

  SUID

    每個程序運行成進程時,這個進程以發起者身份運行,就是發起這個進程的用戶,而不是這個程序的屬主,應用在文件上,如果一個程序擁

    有了suid權限,那么每個用戶運行此程序時都是以這個文件的屬主的身份運行的但是如果這個程序擁有SUID特權的時候,這個進程運行的身

    份就不是發起這個進程的用戶了,而是這個程序文件的屬主。

   相關命令:

     chmod u+s file 增加suid

    chmod u-s file 撤銷suid

    占位在屬主的x權限位,如果屬主原來沒有x權限則表現為大寫S

  SGID

    用在目錄的屬組權限上,如果此目錄擁有SGID權限之后,用戶在此目錄下新創建的文件的屬組將會是這個目錄的屬組,而不是創建這個文件

    的用戶的私有組,如果一個目錄擁有了sgid權限,那么每一個用戶進入到此目錄創建文件的屬組會是這個目錄的屬組,而不是創建文件的用

    戶的屬組組

   相關命令:

    chmod g+s file 增加sgid

    chmod g-s  file 撤銷sgid

    占位在屬組的x權限位,如果屬組原來沒有x權限則表現為大寫S

  STICKY

    也用在目錄上,如果此目錄擁有STICKY權限的話,用戶在此目錄只能刪除自己創建(自己為屬主)的文件,而不能刪除其他用戶創建的文

    件,即便是用戶對此目錄有寫的權限也不行。

   相關命令:

    chmod o+t dir 增加sticky

    chmod o-t  dir 撤銷sticky

    占位在其他用戶的x權限位,如果其他用戶原來沒有x權限則表現為大寫T

    特殊權限的數字賦權法

    chmod 4777 ,可以把每一個特殊權限位再看成rwx(及suid,sgid,sticky),操作在原有的傳統數字權限位前

    

mask和facl

    mask是創建文件后修改文件的權限的高壓線,所有通過facl修改的文件的權限除了文件所有者和other以外,所有人都不能超過mask的權限

  facl :訪問控制列表

    如果文件的屬主,屬組,其他權限設置不能滿足你,假如你只想針對某一個或者多個用戶設定文件權限的話,facl可以滿足你,當一旦設置

    facl權限后 屬組的權限將會變成mask的權限,但是mask不會給用戶添加原來沒有的權限(當文件的屬主的權限是讀,寫,而mask的權限是

    讀,寫,執行,這種情況下mask不會給用戶添加執行權限的)

   facl相關操作命令

    facl

    getfacl file 查看文件的facl列表

    賦權給用戶

    setfacl -m u:username:mode file

    setfacl -M acl.txt file(批量添加)

    賦權給組

    setfacl -m g:groupname:mode file

    撤銷賦權

    setfacl -x u:username file

    setfacl -x g:groupname file

    setfacl -X acl.txt file(批量刪除)

     setacl  -b file 徹底清空所有facl信息

    占位在其他用戶的x權限后,以+號表示

    facl生效順序:所有者,自定義用戶,自定義組,其他人

    facl的備份和恢復命令

    先使用getfacl -R file|dir讀去列表然后>重定向保存到文件a.txt

    然后setfacl -k 刪除原文件facl列表

    再然后setfacl -R –set-file=a.txt讀會facl列表,完整命令示例如下

    [root@ali /]# getfacl -R testdir/ > acl.txt

    [root@ali /]# setfacl -k /testdir/

    [root@ali /]# setfacl -R –set-file=acl.txt /testdir/

   mask對facl的高壓控制

    [root@ali ~]# getfacl /testdir/testdir

    getfacl: Removing leading '/' from absolute path names

    # file: testdir/testdir

    # owner: root

    # group: root

    user::rw-

    user:user1:rwx #effective:r–

    group::r–

    group:g1:rw- #effective:r–

    mask::r–

     other::—      此部分往上表示針對此目錄執行的ACL權限  ,操作命令setfacl -m m::rwx dir

    default:user::rwx

    default:user:user1:rw-

    default:group::r-x

    default:group:g1:—

    default:mask::rwx

    default:other::r-x   此部分表示默認針對此目錄下將要新建的文件執行ACL權限,操作命令 setfacl -m d:u:user1:rwx dir  

文件的特定特殊屬性

    chattr:功用是讓你的文件避免被誤操作

    chattr +A file 鎖定文件的時間戳

    +i file 不能刪除,更改,改名

    +a file 只能增加

    lsattr 可以查看文件被添加的特殊屬性

    我們說的權限是有針對文件系統的,比如在vfat分區文件下,不支持linux的權限,很多命令對其不起作用

原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/28562

(0)
M20-1馬星M20-1馬星
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • shell腳本編程和文件查找及壓縮

    shell腳本編程 read:使用read來把輸入值分配一個或多個shell變量     -p 指定要顯示的提示     -t TIMEOUT     read 從標準輸入中讀取值,給每個單詞分配一個變量   &nbsp…

    Linux干貨 2016-08-18
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • 編譯內核

    先把下載的內核解壓展開歸檔 tar -xvf linux-4.12.tar.xz   把linux系統中的/boot/config-3.10.0-514.el7.x86_64 copy到歸檔文件中并命名為.config   cp config-3.10.0-514.el7.x86_64 /app/linux-4.12/.conf…

    2017-07-12
  • 初學第一篇

    本菜雞出現了。。。 第一次接觸Linux,相對老司機要差遠了,這幾個月的辣眼睛,我就承包了,希望越來越好~~~ ————我是分割線,下面是正文————- 都是講過的東西,不過里面內容都是11手打,作業也自己做后再比對答案 一、–第一天的課程暫時不寫了,…

    Linux干貨 2017-09-02
  • Linux命令的別名與管道命令的詳解

    Linux中命令的別名與管道命令的詳解 命令別名 在使用和維護liunx時,將會使用大量的命令,而一些命令加上參數時輸入比較繁瑣,此時我們可以定義一個別名來代替繁瑣的命令。 系統定義的別名 可以輸入 alias 命令查看系統中已經定義好的命令的別名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干貨 2018-03-03
  • linux 記憶命令心得

    新開始學linux,要記住很多的命令,畢竟這是linux的根本,沒有這些命令,連操作都沒辦法進行。所以我寫這個的目的是我自己記憶,也是想幫助一下一同學習linux的同學們,提供自己記憶這些的方法,拋磚引玉,大家共同討論一下。 我的記憶方法就是分類,把命令分成輸出類,名詞累,操作類。 輸出類就是說的例如w,who,whoami,echo,ifcogfig,wh…

    Linux干貨 2017-07-15
欧美性久久久久