理解Linux文檔屬性、擁有者、群組、權(quán)限、差異知識(shí)點(diǎn)小結(jié)
寫(xiě)在前面
我們都知道Linux是一個(gè)支持多用戶、多任務(wù)的系統(tǒng),這也是它最優(yōu)秀的特性,即可能同時(shí)有很多人都在系統(tǒng)上進(jìn)行工作,所以千萬(wàn)不要強(qiáng)制關(guān)機(jī),同時(shí),為了保護(hù)每個(gè)人的隱私和工作環(huán)境,針對(duì)某一個(gè)文檔(文件、目錄),Linux系統(tǒng)定義了三種身份,分別是擁有者(owner)、群組(group)、其他人(others),每一種身份又對(duì)應(yīng)三種權(quán)限,分別是可讀(readable)、可寫(xiě)(writable)、可執(zhí)行(excutable),通過(guò)這樣的設(shè)計(jì)就可以保證每個(gè)使用者所擁有數(shù)據(jù)的隱密性。
文檔屬性
使用命令ls -al --full-time,或者此命令的簡(jiǎn)寫(xiě)ll可以查看文件或者目錄的所有屬性。如下:

從上面可以看到,每一行都有7列,分別是:
- 第一列
共10位,第1位表示文檔類型,d表示目錄,-表示文件,l表示鏈接文件,d表示可隨機(jī)存取的設(shè)備,如U盤等,c表示一次性讀取設(shè)備,如鼠標(biāo)、鍵盤等。后9位,依次對(duì)應(yīng)三種身份所擁有的權(quán)限,身份順序?yàn)椋簅wner、group、others,權(quán)限順序?yàn)椋簉eadable、writable、excutable。如:-r-xr-x---的含義為當(dāng)前文檔是一個(gè)文件,擁有者可讀、可執(zhí)行,同一個(gè)群組下的用戶,可讀、可寫(xiě),其他人沒(méi)有任何權(quán)限。 - 第二列
表示連結(jié)數(shù) - 第三列
表示擁有者 - 第四列
表示所屬群組 - 第五列
表示文檔容量大小,單位字節(jié) - 第六列
表示文檔最后修改時(shí)間,注意不是文檔的創(chuàng)建時(shí)間哦 - 第七列
表示文檔名稱。以點(diǎn)(.)開(kāi)頭的是隱藏文檔
變更擁有者(owner)
位置
etc/passwd

注意:必須是該位置下已存在的帳號(hào)。也就是在/etc/passwd中有記錄的擁有者才能改變。
語(yǔ)法
chown [-R] [帳號(hào)名稱] [文件或目錄](méi)
chown [-R] [帳號(hào)名稱]:[群組名稱] [文件或目錄](méi)
備注:此命令也可以順便變更文檔群組,但還是建議使用chgrp命令來(lái)變更文檔群組。
選項(xiàng)
-R 遞歸變更,即連同次目錄下的所有文件(夾)都要變更。
用法
chown daemon test 變更文件夾test賬號(hào)為daemon。

chown daemon:root test 變更文件夾test群組為root。

chown root.users test 變更文件夾賬號(hào)為root,群組為users

chown .root test 單獨(dú)變更群組為root

備注:雖然也可以在擁有者與群組間加小數(shù)點(diǎn)(.),但為了避免有的同學(xué)命名中帶點(diǎn),故還是建議使用冒號(hào)“:”來(lái)隔開(kāi)擁有者與群組,避免誤判。
變更群組(group)
位置
etc/group

備注:從這里可以查看到所有群組
語(yǔ)法
chgrp [-options] [群組名] [文檔路徑]
備注:關(guān)于options,可以通過(guò)man chgrp、info chgrp、chgrp --help等命令查詢?cè)敿?xì)用法。
用法
chgrp -R users test 改變test文件夾及其所有子文件(夾)的群組為users。

注意:群組名稱不在位置內(nèi),將會(huì)報(bào)錯(cuò)invalid group。

變更權(quán)限
Linux文檔的基本權(quán)限就三個(gè),分別是read/write/execute,加上身份owner/group/others也一共也只有九個(gè)。權(quán)限變更的方式有2種,分別是符號(hào)法和數(shù)字法。
符號(hào)法
分別使用u,g,o來(lái)代表三種身份,a表示全部身份;分別使用r、w、x表示三種權(quán)限;分別使用+、-、=表示操作行為
語(yǔ)法
chmod | u g o a | +(加入) -(除去) =(設(shè)置) | r w x | 文檔路徑
設(shè)置權(quán)限(=)
變更目錄test的權(quán)限為任何人都可讀、寫(xiě)、執(zhí)行。
chmod u=rwx,g=rwx,o=rwx test
或
chmod ugo=rwx test
或
chmod a=rwx test

去掉權(quán)限(-)
去掉目錄test執(zhí)行權(quán)限
chmod u-x,g-x,o-x test
或
chmod ugo-x test
或
chmod a-x test

備注:執(zhí)行權(quán)限(x),對(duì)目錄而已就是其他用戶能否cd test成為工作目錄。
添加權(quán)限(+)
增加目錄test執(zhí)行權(quán)限
chmod u+x,g+x,o+x test
或
chmod ugo+x test
或
chmod a+x test

備注:很熟悉吧,如果我們編寫(xiě)完一個(gè)shell文件test.sh后,通過(guò)chmod a+x test.sh就添加了文件執(zhí)行權(quán)限。
數(shù)字法
顧名思義,就是使用數(shù)字來(lái)代表權(quán)限,r,w,x分別為4,2,1。三種權(quán)限累加就可以得出一種身份的權(quán)限。
設(shè)置目錄test的權(quán)限為任何人都可讀、寫(xiě)、執(zhí)行。
chmod 777 test

設(shè)置目錄test的權(quán)限為任何人都可讀、寫(xiě)。
chmod 666 test
賦予一個(gè)shell文件test.sh可執(zhí)行權(quán)限,擁有者可讀、寫(xiě)、執(zhí)行,群組賬號(hào)和其他人可讀、執(zhí)行。
chmod 755 test
備注:有沒(méi)有發(fā)現(xiàn)數(shù)字法更簡(jiǎn)單?。。?!
文件和目錄權(quán)限差異
文檔權(quán)限對(duì)于文件和目錄有巨大的差異
文件
針對(duì)的是該文件內(nèi)容
- readable 可讀取該文件的實(shí)際內(nèi)容
- writable 可以編輯、新增或者是修改該文件的內(nèi)容
- executable 有可以被系統(tǒng)執(zhí)行的權(quán)限
備注:具有w權(quán)限不并不代表可以刪除文件,刪除文件是目錄權(quán)限控制的范圍。那是因?yàn)槟夸浀南嚓P(guān)權(quán)限及屬性是記錄到目錄的inode,而目錄下的所有文件的名稱和對(duì)應(yīng)的索引文件(inode)號(hào)碼又是記錄到目錄所屬的block中,所以當(dāng)我們讀取某個(gè)文件時(shí),必須先讀到目錄的inode,然后再讀取目錄的block信息,拿到待讀取文件的索引信息,即具體存儲(chǔ)在哪個(gè)block上,最后才能讀到文件內(nèi)容(這塊內(nèi)容,需要先理解Linux的文件系統(tǒng),比如Ext2/Ext3/Ext4,后面我們會(huì)詳細(xì)介紹) ------ 先記住文件權(quán)限僅僅對(duì)文件內(nèi)容有效。
示例說(shuō)明
使用root身份讀取目錄test001下的文件test001-1查看目錄物理全路徑:
pwd

列出有關(guān)的目錄和文件:ll -di / /root /root/test001 /root/test001/test001-1
通過(guò)man ls 查看-i,全稱inode,即 print the index number of each file

- 目錄/的inode: 通過(guò)掛載點(diǎn)的信息找到inode號(hào)碼為2的block。
- 目錄/的block:通過(guò)上一步驟找到的block,找到root/目錄的inode號(hào)碼為131073。
- 目錄root/的inode:讀取編號(hào)為131073的inode找到目錄的block。
- 目錄root/的block:通過(guò)上一步驟找到的block,找到root/test001/目錄的inode號(hào)碼為527524。
- 目錄root/test001/的inode:讀取編號(hào)為527524的inode找到目錄的block。
- 目錄root/test001/的block:通過(guò)上一步驟找到的block,找到文件test001-1目錄的inode號(hào)碼為527526。
- 文件test001-1的inode:讀取編號(hào)為527526的inode找到文件的block。
- 文件test001-1的block:通過(guò)上一步驟找到的block,讀取文件內(nèi)容。
由于使用的是root身份,具有讀取任何文檔的權(quán)限。如果,使用一般賬號(hào),上面每一個(gè)步驟的讀取,還會(huì)匹配權(quán)限。
目錄
針對(duì)的是該目錄下的文件對(duì)象
- readable 具有讀取目錄結(jié)構(gòu)清單的權(quán)限,即可以通過(guò)ls命令,查詢?cè)撃夸浨鍐巍?/li>
- writable 具有變動(dòng)該目錄結(jié)構(gòu)清單的權(quán)限,即可以創(chuàng)建、遷移、刪除、更名該目錄下的文件。
- executable 具備進(jìn)入該目錄的權(quán)限,即可以通過(guò)cd命令,成為工作目錄。
備注:從上面可以得出,開(kāi)放目錄給任何人瀏覽時(shí),至少需要賦予r或x權(quán)限。讀取目錄文件內(nèi)容,至少需要目錄權(quán)限x和文件權(quán)限r(nóng)。
總結(jié)
Linux的每個(gè)文檔可以分別針對(duì)三種身份賦予rwx權(quán)限;chgrp命令變更文件群組,chmod命令變更文件權(quán)限,chown變更文件擁有者;那么如何運(yùn)用這些屬性和權(quán)限來(lái)保證每個(gè)租戶數(shù)據(jù)的安全性和隱密性,請(qǐng)看下一篇,Linux如何管理文檔多租戶進(jìn)行實(shí)戰(zhàn)練習(xí)。
如果你覺(jué)得本篇文章對(duì)您有幫助的話,感謝您的【推薦】。
相關(guān)文章

集成系統(tǒng)級(jí)Claw模式! Deepin 官宣發(fā)布 25.1 版本
deepin操作系統(tǒng)發(fā)布了最新的 25.1 版本更新,該版本基于 deepin 25 正式版積累的多輪內(nèi)測(cè)成果,在 AI 能力、內(nèi)核版本、桌面環(huán)境、文件管理器以及系統(tǒng)安全等方面進(jìn)行了更新2026-04-13
又一代老硬件退場(chǎng)! Linux 內(nèi)核正式放棄Intel 486 CPU
在過(guò)去的幾十年間,CPU 的架構(gòu)已經(jīng)經(jīng)歷了飛速發(fā)展,x86 系列就是其中之一,而 i486 則屬于該系列中的一個(gè),當(dāng)前,i486 的CPU處理器已經(jīng)夠老,從 Linux 7.1 開(kāi)始將不再有對(duì)2026-04-09
趕緊收藏! 全網(wǎng)最全 Linux 命令總結(jié)
我把 Linux 中最常用、最實(shí)用、最常被問(wèn)到的命令按照實(shí)際使用場(chǎng)景分類整理,方便你快速查閱和記憶,內(nèi)容覆蓋日常運(yùn)維、開(kāi)發(fā)調(diào)試、性能分析、文件處理、網(wǎng)絡(luò)、安全、系統(tǒng)管2026-04-08
一分鐘內(nèi)檢查L(zhǎng)inux服務(wù)器性能? 9個(gè)性能檢測(cè)常用的基本命令
今天我們來(lái)看看Linux系統(tǒng)中用于性能監(jiān)控的一系列命令,這些命令可以快速查看機(jī)器的負(fù)載情況,詳細(xì)請(qǐng)看下文介紹2026-03-18
從零基礎(chǔ)到精通! 適合高級(jí)用戶的15款Linux發(fā)行版推薦
Linux作為操作系統(tǒng)領(lǐng)域靈活性和可定制性的基石,提供了大量滿足不同用戶需求的發(fā)行版,今天分享適合高級(jí)用戶的15款Linux發(fā)行版2026-03-10
開(kāi)箱即用? 這4個(gè)高手級(jí)Linux發(fā)行版遠(yuǎn)沒(méi)你想象的那么安全易用
如果你正在糾結(jié)用哪個(gè)發(fā)行版?零基礎(chǔ)新手別被“高端”“極客”“聲明式”這些詞沖昏頭腦,先用好用的,再慢慢進(jìn)階2026-03-10
這幾款SSH工具真的夠用了! Linux好用的ssh工具推薦
在Linux上使用SSH,您需要安裝一個(gè)SSH客戶端,今天整理找到的8 款 SSH / 終端工具,從免費(fèi)開(kāi)源到企業(yè)級(jí)商用,從輕量化命令行到一站式工具箱,每款都做了介紹與對(duì)比,希望能2026-03-09
在Linux系統(tǒng)下有兩種用戶,即高級(jí)用戶root,普通用戶,高級(jí)用戶root可以在系統(tǒng)中做任何事情,普通用戶僅可在Linux系統(tǒng)中做有限的事情,下面我們就來(lái)看看切換方法2026-02-28
揭秘當(dāng)前登錄用戶的身份! Linux中使用logname命令的技巧
logname命令就是這樣一個(gè)簡(jiǎn)單但強(qiáng)大的工具,它能幫助我們輕松獲取當(dāng)前登錄用戶的用戶名,今天,我們就來(lái)深入探索一下這個(gè)命令的工作原理、使用方法和最佳實(shí)踐2026-02-26
在 Linux 系統(tǒng)中,DNS 緩存是一種將域名和 IP 地址映射關(guān)系緩存在本地的機(jī)制,可以加快域名解析速度,并減輕 DNS 服務(wù)器的負(fù)載2026-02-26



