400-650-7353
您所在的位置:首頁 > IT干貨資料 > linux > 【Linux基礎(chǔ)知識(shí)】CentOS7訪問控制列表ACL與文件屬性

【Linux基礎(chǔ)知識(shí)】CentOS7訪問控制列表ACL與文件屬性

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

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

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

ACL的功能是給文件設(shè)置特權(quán)用戶,即允許特定用戶訪問。

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

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

設(shè)置ACL命令的常用方式如下。

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

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

[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:撤銷單個(gè)ACL。

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

【Linux基礎(chǔ)知識(shí)】CentOS7訪問控制列表ACL與文件屬性

3. CentOS7文件屬性設(shè)置

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

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

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

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

[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處于只讀狀態(tài),可使用lsattr命令查看,但不可再寫入,之后去除i屬性,f1又可寫入。

文章“【Linux基礎(chǔ)知識(shí)】CentOS7訪問控制列表ACL與文件屬性”已幫助

更多內(nèi)容

>>本文地址:http://liujunjsxg.cn/zhuanye/2021/69421.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME