1. 程式人生 > 其它 >setfacl命令的基本用法

setfacl命令的基本用法

技術標籤:redhat安全redhat

斜體樣式@1、setfacl的用途
setfacl命令可以用來細分linux下的檔案許可權。
chmod命令可以把檔案許可權分為u,g,o三個組,而setfacl可以對每一個檔案或目錄設定更精確的檔案許可權。
換句話說,setfacl可以更精確的控制權限的分配。
比如:讓某一個使用者對某一個檔案具有某種許可權。
這種獨立於傳統的u,g,o的rwx許可權之外的具體許可權設定叫ACL(Access Control List)
ACL可以針對單一使用者、單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。
如,某一個檔案,不讓單一的某個使用者訪問。

2、setfacl的用法
用法: setfacl [-bkndRLP] { -m|-M|-x|-X … } file …
-m, --modify-acl 更改檔案的訪問控制列表
-M, --modify-file=file 從檔案讀取訪問控制列表條目更改
-x, --remove=acl 根據檔案中訪問控制列表移除條目
-X, --remove-file=file 從檔案讀取訪問控制列表條目並刪除
-b, --remove-all 刪除所有擴充套件訪問控制列表條目
-k, --remove-default 移除預設訪問控制列表
–set=acl 設定替換當前的檔案訪問控制列表
–set-file=file 從檔案中讀取訪問控制列表條目設定
–mask 重新計算有效許可權掩碼
-n, --no-mask 不重新計算有效許可權掩碼
-d, --default 應用到預設訪問控制列表的操作
-R, --recursive 遞迴操作子目錄
-L, --logical 依照系統邏輯,跟隨符號連結
-P, --physical 依照自然邏輯,不跟隨符號連結
–restore=file 恢復訪問控制列表,和“getfacl -R”作用相反
–test 測試模式,並不真正修改訪問控制列表屬性
-v, --version 顯示版本並退出
-h, --help 顯示本幫助資訊

3、幾個例子
#檢視acl
[[email protected]

~]# getfacl test

file: test

owner: root

group: root

user::r-x
user:tank:rwx #effective:—
group::r-x #effective:—
mask::—
other::—
修改之後再檢視:
[[email protected] ~]# setfacl -m u:zhangy:rw- test #修改檔案的acl許可權,新增一個使用者許可權
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::r-x
user:zhangy:rw- #多出來一個使用者
user:tank:rwx
group::r-x
mask::rwx
other::—
[[email protected] ~]# setfacl -m g:zhangying:r-w test #新增一個組
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::r-x
user:zhangy:rw-
user:tank:rwx
group::r-x
group:zhangying:rw-
mask::rwx
other::—
再看一個例子:

[[email protected] ~]# getfacl test #檢視acl

file: test

owner: root

group: root

user::rw-
group::r–
other::r–

[[email protected] ~]# setfacl -m u:tank:rx test #給tank使用者向test檔案增加讀和執行的acl規則
[[email protected] ~]# getfacl test #檢視acl

file: test

owner: root

group: root

user::rw-
user:tank:r-x #已加入
group::r–
mask::r-x
other::r–

[[email protected] ~]# setfacl -m u::rwx test #設定預設使用者,讀,寫,可執行
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::rwx
user:tank:r-x
group::r–
mask::r-x
other::r–

[[email protected] ~]# setfacl -b test #清除所有acl
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::rwx
group::r–
other::r–

[[email protected] ~]# setfacl -m u:tank:rx test #給tank使用者向test檔案增加讀和執行的acl規則
[[email protected] ~]# setfacl -m u:testtank:rx test #給testtank使用者向test檔案增加讀和執行的acl規則
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::rwx
user:testtank:r-x
user:tank:r-x
group::r–
mask::r-x
other::r–

[[email protected] ~]# setfacl -x u:tank test #清除tank使用者,對test檔案acl規則
[[email protected] ~]# getfacl test

file: test

owner: root

group: root

user::rwx
user:testtank:r-x
group::r–
mask::r-x
other::r–
設定組的話只需要把setfacl -m u::rwx 中的u改為g即可,大致差不多。
設定mask的話,setfacl -m u::rwx 中的u改為m,並且這個可不針對使用者和組哦,其他的大致差不多。
在使用-R時,記得放在-m前面,否則不可以地
使用-d的話,就會把預設的都加上去,針對目錄哦。
TOC

學習目標:

提示:這裡可以新增學習目標
例如:一週掌握 Java 入門知識


學習內容:

提示:這裡可以新增要學的內容
例如:
1、 搭建 Java 開發環境
2、 掌握 Java 基本語法
3、 掌握條件語句
4、 掌握迴圈語句


學習時間:

提示:這裡可以新增計劃學習的時間
例如:
1、 週一至週五晚上 7 點—晚上9點
2、 週六上午 9 點-上午 11 點
3、 週日下午 3 點-下午 6 點


學習產出:

提示:這裡統計學習計劃的總量
例如:
1、 技術筆記 2 遍
2、CSDN 技術部落格 3 篇
3、 學習的 vlog 視訊 1 個# 歡迎使用Markdown編輯器

你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。

新的改變

我們對Markdown編輯器進行了一些功能拓展與語法支援,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫部落格:

  1. 全新的介面設計 ,將會帶來全新的寫作體驗;
  2. 在創作中心設定你喜愛的程式碼高亮樣式,Markdown 將程式碼片顯示選擇的高亮樣式 進行展示;
  3. 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
  4. 全新的 KaTeX數學公式 語法;
  5. 增加了支援甘特圖的mermaid語法1 功能;
  6. 增加了 多螢幕編輯 Markdown文章功能;
  7. 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定 等功能,功能按鈕位於編輯區域與預覽區域中間;
  8. 增加了 檢查列表 功能。

功能快捷鍵

撤銷:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜體:Ctrl/Command + I
標題:Ctrl/Command + Shift + H
無序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
檢查列表:Ctrl/Command + Shift + C
插入程式碼:Ctrl/Command + Shift + K
插入連結:Ctrl/Command + Shift + L
插入圖片:Ctrl/Command + Shift + G
查詢:Ctrl/Command + F
替換:Ctrl/Command + G

合理的建立標題,有助於目錄的生成

直接輸入1次#,並按下space後,將生成1級標題。
輸入2次#,並按下space後,將生成2級標題。
以此類推,我們支援6級標題。有助於使用TOC語法後生成一個完美的目錄。

如何改變文字的樣式

強調文字 強調文字

加粗文字 加粗文字

標記文字

刪除文字

引用文字

H2O is是液體。

210 運算結果是 1024.

插入連結與圖片

連結: link.

圖片: Alt

帶尺寸的圖片: Alt

居中的圖片: Alt

居中並且帶尺寸的圖片: Alt

當然,我們為了讓使用者更加便捷,我們增加了圖片拖拽功能。

如何插入一段漂亮的程式碼片

部落格設定頁面,選擇一款你喜歡的程式碼片高亮樣式,下面展示同樣高亮的 程式碼片.

// An highlighted block
var foo = 'bar';

生成一個適合你的列表

  • 專案
    • 專案
      • 專案
  1. 專案1
  2. 專案2
  3. 專案3
  • 計劃任務
  • 完成任務

建立一個表格

一個簡單的表格是這麼建立的:

專案Value
電腦$1600
手機$12
導管$1

設定內容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文字居中第二列文字居右第三列文字居左

SmartyPants

SmartyPants將ASCII標點字元轉換為“智慧”印刷標點HTML實體。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

建立一個自定義列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何建立一個註腳

一個具有註腳的文字。2

註釋也是必不可少的

Markdown將文字轉換為 HTML

KaTeX數學公式

您可以使用渲染LaTeX數學表示式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通過尤拉積分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多關於的資訊 LaTeX 數學表示式here.

新的甘特圖功能,豐富你的文章

Mon 06 Mon 13 Mon 20 已完成 進行中 計劃一 計劃二 現有任務 Adding GANTT diagram functionality to mermaid
  • 關於 甘特圖 語法,參考 這兒,

UML 圖表

可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖:

張三 李四 王五 你好!李四, 最近怎麼樣? 你最近怎麼樣,王五? 我很好,謝謝! 我很好,謝謝! 李四想了很長時間, 文字太長了 不適合放在一行. 打量著王五... 很好... 王五, 你怎麼樣? 張三 李四 王五

這將產生一個流程圖。:

連結 長方形 圓角長方形 菱形
  • 關於 Mermaid 語法,參考 這兒,

FLowchart流程圖

我們依舊會支援flowchart的流程圖:

Created with Raphaël 2.2.0 開始 我的操作 確認? 結束 yes no
  • 關於 Flowchart流程圖 語法,參考 這兒.

匯出與匯入

匯出

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章匯出 ,生成一個.md檔案或者.html檔案進行本地儲存。

匯入

如果你想載入一篇你寫過的.md檔案,在上方工具欄可以選擇匯入功能進行對應副檔名的檔案匯入,
繼續你的創作。


  1. mermaid語法說明 ↩︎

  2. 註腳的解釋 ↩︎