400-650-7353

精品課程

您所在的位置:首頁 > IT干貨資料 > linux > 【Linux基礎知識】CentOS7訪問控制列表ACL與文件屬性

【Linux基礎知識】CentOS7訪問控制列表ACL與文件屬性

  • 來源:
  • 2021-07-26 13:55:16
  • 閱讀()
  • 分享
  • 手機端入口

1. ACL訪問控制列表的功能

早期Linux系統的權限控制主要依賴于UGO (user, group, others) 模型,然而這種權限控制由于靈活度不高具有一定的局限性,由于存在業務需求,為了實現更加靈活和精確的權限控制,后續開源組織推出了ACL(Access Control List)權限控制模塊作為傳統UGO模型的補充。

ACL的功能是給文件設置特權用戶,即允許特定用戶訪問。

例如,f1文件權限644,屬主root,屬組root,則用戶zhang無權寫入,可給zhang設定特權,僅允許zhang寫入。若使用o+w的操作,則不僅是用戶zhang,其他用戶也具備了寫入權限。為了滿足這樣的業務需求,我們可以使用ACL提供的相關命令來實現。

2. ACL訪問控制列表的常用命令

設置ACL命令的常用方式如下。

①getfacl f1:查看文件f1的ACL信息。

②setfacl -m u:zhang:rw f1:針對文件f1,f1文件的所屬者和所屬組均為root,普通用戶zhang沒有w權限,可以用setfacl給單獨普通用戶zhang添加文件f1的rw權限,讓用戶zhang也能像用戶root一樣讀寫f1文件,這個過程稱為設置用戶zhang的ACL。setfacl命令的-m選項表示設置狀態為“修改”,u:zhang:rw表示設置用戶zhang的ACL為rw,如下面操作所示,用戶zhang對f1有rw權限,可嘗試切換到zhang用戶并編輯f1文件加以驗證。

[root@jump ~]# cd /mnt
[root@jump mnt]# echo aaaaaa > f1
[root@jump mnt]# getfacl f1
# file: f1
# owner: zhang
# group: zhang
user::rw-
group::rw-
other::r--
 
[root@jump mnt]# setfacl -m u:zhang:rw f1
[root@jump mnt]# getfacl f1
# file: f1
# owner: zhang
# group: zhang
user::rw-
user:zhang:rw-
group::rw-
mask::rw-
other::r--
 
[root@jump mnt]# su - zhang
[zhang@jump ~]$ cd /mnt
[zhang@jump mnt]$ ls -l f1
-rw-rw-r--+ 1 zhang zhang 7 Feb 26 15:42 f1
[zhang@jump mnt]$ echo bbbbbb > f1
[zhang@jump mnt]$ cat f1
bbbbbb

④setfacl -x u:zhang f1:撤銷單個ACL。

⑤setfacl -b f1:撤銷文件的所有ACL。

【Linux基礎知識】CentOS7訪問控制列表ACL與文件屬性

3. CentOS7文件屬性設置

屬性,即文件所具有的某些特性,可使用lsattr命令查看,舉例如下。

lsattr -aR /root:查看/root下的文件及目錄權限。-a用于顯示指定目錄下的文件及目錄的屬性,-R用于遞歸顯示,即查看/root下的所有文件包括子目錄文件的文件屬性。

文件的常用屬性如下表所示。

可以用chattr命令,使用+、-號來給文件增加或刪除屬性,如下操作所示。

[root@jump ~]# cd /mnt
[root@jump mnt]# lsattr -aR f1
---------------- f1
[root@jump mnt]# echo bbbbbb >> f1
[root@jump mnt]# chattr +i f1
[root@jump mnt]# lsattr -aR f1
----i----------- f1
[root@jump mnt]# echo cccccc >> f1
-bash: f1: Permission denied
[root@jump mnt]# chattr -i f1
[root@jump mnt]# lsattr -aR f1
---------------- f1
[root@jump mnt]# echo cccccc >> f1
[root@jump mnt]# cat f1
bbbbbb
bbbbbb
cccccc

可知在給f1增加i屬性前,f1可寫入,給f1增加了i屬性后,f1處于只讀狀態,可使用lsattr命令查看,但不可再寫入,之后去除i屬性,f1又可寫入。

學習疑問申請解答
您的姓名
您的電話
意向課程
 

中公優就業

IT小助手

掃描上方二維碼添加好友,請備注:599,享學習福利。

>>本文地址:
注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

推薦閱讀

優就業:ujiuye

關注中公優就業官方微信

  • 關注微信回復關鍵詞“大禮包”,享學習福利
QQ交流群
在線疑問解答
(加群備注“網站”)
IT培訓交流群 加入群聊 +
軟件測試 加入群聊 +
全鏈路UI/UE設計 加入群聊 +
Python+人工智能 加入群聊 +
互聯網營銷 加入群聊 +
Java開發 加入群聊 +
PHP開發 加入群聊 +
VR/AR游戲開發 加入群聊 +
大前端 加入群聊 +
大數據 加入群聊 +
Linux云計算 加入群聊 +
優就業官方微信
掃碼回復關鍵詞“大禮包”
享學習福利

測一測
你適合學哪門IT技術?

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
 
課程資料、活動優惠 領取通道
 
 
五月天黄色网站