0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談Linux權(quán)限管理的ACL權(quán)限

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:工程師曾玲 ? 2018-08-18 11:13 ? 次閱讀

Linux權(quán)限管理是Linux很重要的一項(xiàng)內(nèi)容,重則引起用戶信息泄露,輕則導(dǎo)致文件錯(cuò)亂和丟失。企業(yè)服務(wù)器里有些目錄下面的東西暫時(shí)保密,不希望別人可以進(jìn)入目錄并查看。有些文件希望別人可以看,但不能刪除。有些目錄只有root等管理員權(quán)限的賬戶才能修改,

Linux服務(wù)器供多個(gè)人登錄使用,要是沒有權(quán)限管理就亂了,大家都一樣的權(quán)限。有些維護(hù)系統(tǒng)的命令比較復(fù)雜,經(jīng)驗(yàn)豐富的管理員運(yùn)行這些命令沒事,普通新用戶運(yùn)行的話,可以會(huì)導(dǎo)致linux服務(wù)器癱瘓。

就像咱們?nèi)粘I钪校澜缛说臋?quán)限都一樣不就亂了嗎。

今天我們來介紹一下Linux權(quán)限管理的ACL權(quán)限,它是用戶管理結(jié)束之后必須要經(jīng)歷的一步。Linux系統(tǒng)的用戶管理包括Linux用戶和用戶組管理之相關(guān)配置文件,用戶管理的相關(guān)配置文件,內(nèi)容有用戶信息文件/etc/passwd,用戶密碼文件/etc/shadow;用戶組信息文件/etc/group,用戶組密碼文件/etc/gshadow。用戶的家目錄,以及用戶的模板目錄;Linux用戶和用戶組管理之用戶管理命令,管理用戶和用戶組的命令,包括新建、修改、查看等等以及用的比較多的切換用戶命令 su。

下面我們正式開始介紹:

1、什么是 ACL 權(quán)限?

比如有如下場景:

某大牛在QQ群內(nèi)直播講解Linux系統(tǒng)的權(quán)限管理,講解完之后,他在一個(gè)公有的Linux系統(tǒng)中創(chuàng)建了一個(gè) /project 目錄,里面存放的是課后參考資料。那么 /project 目錄對于大牛而言是所有者,擁有讀寫可執(zhí)行(rwx)權(quán)限,對于QQ群內(nèi)的所有用戶他們都分配的一個(gè)所屬組里面,也都擁有讀寫可執(zhí)行(rwx)權(quán)限,而對于 QQ 群外的其他人,那么我們不給他訪問/project 目錄的任何權(quán)限,那么 /project 目錄的所有者和所屬組權(quán)限都是(rwx),其他人權(quán)限無。

問題來了,這時(shí)候直播有旁聽的人參與(不屬于QQ群內(nèi)),聽完之后,我們允許他訪問/project目錄查看參考資料,但是不能進(jìn)行修改,也就是擁有(r-x)的權(quán)限,這時(shí)候我們該怎么辦呢?我們知道一個(gè)文件只能有一個(gè)所屬組,我們將他分配到QQ群所在的所屬組內(nèi),那么他擁有了寫的權(quán)限,這是不被允許的;如果將這個(gè)旁聽的人視為目錄/project 的其他人,并且將/project目錄的其他人權(quán)限改為(r-x),那么不是旁聽的人也能訪問我們/project目錄了,這顯然也是不被允許的。怎么解決呢?

我們想想windows系統(tǒng)里面給某個(gè)文件分配權(quán)限的辦法:

如上圖,我們想要讓某個(gè)用戶不具備某個(gè)權(quán)限,直接不給他分配這個(gè)目錄的相應(yīng)權(quán)限就行了。那么對應(yīng)到Linux系統(tǒng)也是這樣,我們給指定的用戶指定目錄分配指定的權(quán)限,也就是 ACL 權(quán)限分配。

2、查看分區(qū) ACL 權(quán)限是否開啟:dump2fs

我們看某個(gè)文件(Linux系統(tǒng)中目錄也是文件,一切皆是文件)是否支持 ACL 權(quán)限,首先要看文件所在的分區(qū)是否支持 ACL 權(quán)限。

①、查看當(dāng)前系統(tǒng)有哪些分區(qū):df -h

②、查看指定分區(qū)詳細(xì)文件信息:dumpe2fs -h 分區(qū)路徑

下面是查看 根分區(qū)/ 的詳細(xì)文件信息

3、開啟分區(qū) ACL 權(quán)限

①、臨時(shí)開啟分區(qū) ACL 權(quán)限

mount -o remount,acl /

重新掛載根分區(qū),并掛載加入 acl 權(quán)限。注意這種命令開啟方式,如果系統(tǒng)重啟了,那么根分區(qū)權(quán)限會(huì)恢復(fù)到初始狀態(tài)。

②、永久開啟分區(qū) ACL 權(quán)限

一、修改配置文件 /etc/fstab

上面是修改根分區(qū)擁有 acl 權(quán)限

UUID=490ed737-f8cf-46a6-ac4b-b7735b79fc63 / ext4 defaults,acl 1 1

二、重新掛載文件系統(tǒng)或重啟系統(tǒng),使得修改生效

mount -o remount /

4、設(shè)定 ACL 權(quán)限:setfacl 選項(xiàng) 文件名

①、給用戶設(shè)定 ACL 權(quán)限:setfacl -m u:用戶名:權(quán)限 指定文件名

②、給用戶組設(shè)定 ACL 權(quán)限:setfacl -m g:組名:權(quán)限 指定文件名

注意:我們給用戶或用戶組設(shè)定 ACL 權(quán)限其實(shí)并不是真正我們設(shè)定的權(quán)限,是與 mask 的權(quán)限“相與”之后的權(quán)限才是用戶的真正權(quán)限,一般默認(rèn)mask權(quán)限都是rwx,與我們所設(shè)定的權(quán)限相與就是我們設(shè)定的權(quán)限。mask 權(quán)限下面我們會(huì)詳細(xì)講解

范例:所有者root用戶在根目錄下創(chuàng)建一個(gè)文件目錄/project,然后創(chuàng)建一個(gè)QQ群所屬組,所屬組里面創(chuàng)建兩個(gè)用戶zhangsan和lisi。所有者和所屬組權(quán)限和其他人權(quán)限是770。

然后創(chuàng)建一個(gè)旁聽用戶 pt,給他設(shè)定/project目錄的 ACL 為 r-x。

目錄 /project 的所有者和所屬組其他人權(quán)限設(shè)定為 770。接下來我們創(chuàng)建旁聽用戶 pt,并賦予 acl 權(quán)限 rx

為了驗(yàn)證 pt 用戶對于 /project 目錄沒有寫權(quán)限,我們用 su 命令切換到 pt 用戶,然后進(jìn)入 /project 目錄,在此目錄下創(chuàng)建文件,看是否能成功:

上面提示權(quán)限不夠,說明 acl 權(quán)限賦予成功,注意如下所示,如果某個(gè)目錄或文件下有 + 標(biāo)志,說明其具有 acl 權(quán)限。

5、查看 ACL 權(quán)限:getfacl 文件名

6、最大有效權(quán)限 mask

前面第4點(diǎn)我們講過,我們給用戶或用戶組設(shè)定 ACL 權(quán)限其實(shí)并不是真正我們設(shè)定的權(quán)限,是與 mask 的權(quán)限“相與”之后的權(quán)限才是用戶的真正權(quán)限,一般默認(rèn)mask權(quán)限都是rwx,與我們所設(shè)定的權(quán)限相與就是我們設(shè)定的權(quán)限。

我們通過getfacl 文件名 也能查看 mask 的權(quán)限,那么我們怎么設(shè)置呢?

setfacl -m m:權(quán)限 文件名

7、刪除 ACL 權(quán)限

①、刪除指定用戶的 ACL 權(quán)限

setfacl -x u:用戶名 文件名

②、刪除指定用戶組的 ACL 權(quán)限

setfacl -x g:組名 文件名

③、刪除文件的所有 ACL 權(quán)限

setfacl -b 文件名

8、遞歸 ACL 權(quán)限

通過加上選項(xiàng) -R 遞歸設(shè)定文件的 ACL 權(quán)限,所有的子目錄和子文件也會(huì)擁有相同的 ACL 權(quán)限。

setfacl -m u:用戶名:權(quán)限 -R 文件名

9、默認(rèn) ACL 權(quán)限

如果給父目錄設(shè)定了默認(rèn)的 ACL 權(quán)限,那么父目錄中所有新建的子文件會(huì)繼承父目錄的 ACL 權(quán)限。

setfacl -m d:u:用戶名:權(quán)限 文件名

10、總結(jié)

本篇博客我們介紹了權(quán)限管理的ACL權(quán)限,通過設(shè)定 ACL 權(quán)限,我們?yōu)槟硞€(gè)用戶指定某個(gè)文件的特定權(quán)限,在實(shí)際權(quán)限管理中還是用的比較多的

↓↓↓

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11455

    瀏覽量

    212720
  • ACL
    ACL
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    12348

原文標(biāo)題:Linux權(quán)限管理之ACL權(quán)限最全解讀

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表一

    ACL使能 :TRUE ohos.permission.DOWNLOAD_SESSION_MANAGER 允許應(yīng)用管理下載任務(wù)會(huì)話。 權(quán)限級別 :system_core 授權(quán)方式
    發(fā)表于 04-23 14:33

    鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表二

    允許應(yīng)用程序獲取當(dāng)前設(shè)備正在播放的媒體資源,并對其進(jìn)行管理。 權(quán)限級別 :system_basic 授權(quán)方式 :system_grant ACL使能 :TRUE
    發(fā)表于 04-24 15:43

    鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)應(yīng)用權(quán)限列表三

    ohos.permission.ACCESS_DLP_FILE 允許對DLP文件進(jìn)行權(quán)限配置和管理。 權(quán)限級別 :system_core 授權(quán)方式 :system_grant ACL
    發(fā)表于 04-25 16:12

    linux的三種權(quán)限管理

    2018-07-30 linux 權(quán)限管理及其他命令
    發(fā)表于 05-10 10:09

    Linux 中文件權(quán)限管理的探討

    Linux 是一種多用戶的操作系統(tǒng),其文件權(quán)限管理在文件管理中占有重要的地位。為了更好地把握Linux 的文件
    發(fā)表于 06-11 09:37 ?11次下載

    基于ACL權(quán)限系統(tǒng)實(shí)現(xiàn)

    ACL全稱Access Control List,在ACL中,包含用戶(User)、資源(Resource)、資源操作(Operation)三個(gè)關(guān)鍵要素。通過將資源以及資源操作授權(quán)給用戶而使用戶獲取對資源進(jìn)行操作的權(quán)限,模型如下
    發(fā)表于 05-16 15:49 ?0次下載
    基于<b class='flag-5'>ACL</b>的<b class='flag-5'>權(quán)限</b>系統(tǒng)實(shí)現(xiàn)

    Linux ACL權(quán)限詳細(xì)分析

    ACL的全稱是 Access Control List (訪問控制列表) ,一個(gè)針對文件/目錄的訪問控制列表。它在UGO權(quán)限管理的基礎(chǔ)上為文件系統(tǒng)提供一個(gè)額外的、更靈活的權(quán)限
    的頭像 發(fā)表于 10-22 10:00 ?4823次閱讀

    Linux進(jìn)程權(quán)限的分析說明

     在linux下,關(guān)于文件權(quán)限,大部分人接觸比較多,也比較熟悉了解。但是對進(jìn)程權(quán)限一般知之甚少。本文總結(jié)一下linux系統(tǒng)下進(jìn)程權(quán)限問題和現(xiàn)
    發(fā)表于 07-17 10:55 ?967次閱讀

    Linux基礎(chǔ)的用戶權(quán)限

    sudo是一種權(quán)限管理機(jī)制,其權(quán)限管理記錄在/etc/sudoers文件中,約定普通用戶可以以管理員的身份執(zhí)行命令。
    的頭像 發(fā)表于 02-15 11:08 ?883次閱讀

    ACL、RBAC、ABAC三大權(quán)限管理模型,到底怎么選?

    ACL(訪問控制列表)是率先登場的權(quán)限管理模型。它的概念很簡單,每一個(gè)需要被訪問控制機(jī)制保護(hù)的資源對象(稱為客體)都維持一個(gè)獨(dú)立的關(guān)聯(lián)映射表,其中記錄了對該客體進(jìn)行訪問的實(shí)體(稱為主體)被授予訪問客體的
    的頭像 發(fā)表于 04-24 09:20 ?9396次閱讀
    <b class='flag-5'>ACL</b>、RBAC、ABAC三大<b class='flag-5'>權(quán)限</b><b class='flag-5'>管理</b>模型,到底怎么選?

    linux文件訪問權(quán)限怎么設(shè)置

    Linux 文件訪問權(quán)限是操作系統(tǒng)中一個(gè)非常重要的概念。正確地設(shè)置文件訪問權(quán)限可以保護(hù)系統(tǒng)的安全性,防止未經(jīng)授權(quán)的人員對文件進(jìn)行修改、刪除或執(zhí)行。本文將詳細(xì)介紹 Linux 文件訪問
    的頭像 發(fā)表于 11-23 10:20 ?1911次閱讀

    Linux把目錄權(quán)限給指定用戶

    Linux是一個(gè)開放源代碼的操作系統(tǒng),它基于Unix的設(shè)計(jì)原則,提供了豐富的權(quán)限管理功能,允許用戶對系統(tǒng)中的文件和目錄進(jìn)行精確的控制。在Linux中,每個(gè)文件和目錄都有相應(yīng)的
    的頭像 發(fā)表于 11-23 10:30 ?9117次閱讀

    linux權(quán)限管理詳解

    權(quán)限:在計(jì)算機(jī)系統(tǒng)中,權(quán)限是指某個(gè)計(jì)算機(jī)用戶具有使用軟件資源的權(quán)利。
    的頭像 發(fā)表于 12-25 09:43 ?460次閱讀

    Linux權(quán)限管理解析

    權(quán)限指的是某一個(gè)用戶針對某一個(gè)文件的權(quán)限(root超級管理員擁有全部權(quán)限)
    的頭像 發(fā)表于 04-09 10:06 ?208次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>權(quán)限</b><b class='flag-5'>管理</b>解析

    Linux權(quán)限管理基礎(chǔ)入門

    Linux的廣闊天空中,權(quán)限管理猶如一只翱翔的雄鷹,掌控著系統(tǒng)的安全與秩序。掌握Linux權(quán)限,不僅能讓你的系統(tǒng)
    的頭像 發(fā)表于 05-06 13:44 ?135次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>權(quán)限</b><b class='flag-5'>管理</b>基礎(chǔ)入門

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品