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

基礎權限

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

    件的權限為何!)將已存在的文件或目錄進行更名;搬移該目錄內的文件、目錄位置。對目錄來講不建議隨便給一個用戶用于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 14:25
下一篇 2016-08-04 14:39

相關推薦

  • ifcfg, ip, ss,配置文件 (Blog 7)

    Linux主機接入網絡:
    IP/MASK
    GATEWAY
    DNS

    Linux干貨 2017-11-27
  • N25_第二周

    Linux文件管理類命令 cp命令:copy 源文件;目標文件; 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY | ????? cp [OPTION]… -t DIRECTORY SOURCE……

    Linux干貨 2016-12-11
  • LINUX–命令的格式、類型、別名的概述及運用

    命令格式       COMMAND [OPTIONS…] [ARGUMENTS..]      [OPTIONS..] 選項:用于啟用或關閉命令的某個或某些功能                &n…

    2017-05-21
  • 文本處理三劍客–sed使用詳解

    處理文本的工具sed Stream EDitor     行編輯器 sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾?!?/p>

    Linux干貨 2017-05-21
  • 用戶管理權限命令總結

    用戶 Linux操作系統是一個多用戶操作系統,它允許多用戶同時登錄到系統上并使用資源。系統會根據賬戶來區分每個用戶的文件,進程,任務和工作環境,使得每個用戶工作都不受干擾。 用戶分類 超級用戶:(root,UID=0) 普通用戶:(UID在500到60000) 偽用戶:(UID在1到499) 系統和服務相關的:bin、daemon、shutdown等 進程相…

    Linux干貨 2017-04-03
  • Linux 下openssl搭建一個CA

    CA : 證書頒發機構PKI : 公鑰基礎設施,公鑰基礎構架證書: 里面存放了用戶的各種信息,最核心的部分就是公鑰 誰來給CA頒發公鑰,解決方法是,CA自己給自己頒發公鑰 openssl 是一個強大的工具可以幫助我們來創建頒發證書,下面我們就來看下在linux下 opensssl 搭建一個CA,并實現管理 1、首先我們需要給CA生成一個私鑰  cd…

    2017-07-16
欧美性久久久久