日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

漫谈Linux文档属性、拥有者、群组、权限

發(fā)布時間:2023/12/4 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 漫谈Linux文档属性、拥有者、群组、权限 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:justmine
頭條號:大數(shù)據(jù)與云原生
微信公眾號:大數(shù)據(jù)與云原生
創(chuàng)作不易,在滿足創(chuàng)作共用版權(quán)協(xié)議的基礎(chǔ)上可以轉(zhuǎn)載,但請以超鏈接形式注明出處。
為了方便閱讀,微信公眾號已按分類排版,后續(xù)的文章將在移動端首發(fā),想學(xué)習(xí)云原生相關(guān)知識,請關(guān)注我

寫在前面

我們都知道Linux是一個支持多用戶、多任務(wù)的系統(tǒng),這也是它最優(yōu)秀的特性,即可能同時有很多人都在系統(tǒng)上進(jìn)行工作,所以千萬不要強(qiáng)制關(guān)機(jī),同時,為了保護(hù)每個人的隱私和工作環(huán)境,針對某一個文檔(文件、目錄),Linux系統(tǒng)定義了三種身份,分別是擁有者(owner)、群組(group)、其他人(others),每一種身份又對應(yīng)三種權(quán)限,分別是可讀(readable)、可寫(writable)、可執(zhí)行(excutable),通過這樣的設(shè)計就可以保證每個使用者所擁有數(shù)據(jù)的隱密性

文檔屬性

使用命令ls -al --full-time,或者此命令的簡寫ll可以查看文件或者目錄的所有屬性。如下:

從上面可以看到,每一行都有7列,分別是:

  • 第一列
    共10位,第1位表示文檔類型,d表示目錄,-表示文件,l表示鏈接文件,d表示可隨機(jī)存取的設(shè)備,如U盤等,c表示一次性讀取設(shè)備,如鼠標(biāo)、鍵盤等。后9位,依次對應(yīng)三種身份所擁有的權(quán)限,身份順序為:owner、group、others,權(quán)限順序為:readable、writable、excutable。如:-r-xr-x---的含義為當(dāng)前文檔是一個文件,擁有者可讀、可執(zhí)行,同一個群組下的用戶,可讀、可寫,其他人沒有任何權(quán)限

  • 第二列
    表示鏈接數(shù),表示有多少個文件鏈接到inode號碼。

  • 第三列
    表示擁有者

  • 第四列
    表示所屬群組

  • 第五列
    表示文檔容量大小,單位字節(jié)

  • 第六列
    表示文檔最后修改時間,注意不是文檔的創(chuàng)建時間哦

  • 第七列
    表示文檔名稱。以點(.)開頭的是隱藏文檔

  • 變更擁有者(owner)

    位置

    cat /etc/passwd

    注意:必須是該位置下已存在的帳號。也就是在/etc/passwd中有記錄的擁有者才能改變。

    語法

    chown [-R] [帳號名稱] [文件或目錄] chown [-R] [帳號名稱]:[群組名稱] [文件或目錄]

    備注:此命令也可以順便變更文檔群組,但還是建議使用chgrp命令來變更文檔群組。

    選項

    -R 遞歸變更,即連同次目錄下的所有文件(夾)都要變更。

    用法

    chown daemon test?變更文件夾test賬號為daemon

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

    chown root.users test?變更文件夾賬號為root,群組為users

    chown .root test?單獨變更群組為root

    備注:雖然也可以在擁有者與群組間加小數(shù)點(.),但為了避免有的同學(xué)命名中帶點,故還是建議使用冒號“:”來隔開擁有者與群組,避免誤判。

    變更群組(group)

    位置

    etc/group

    備注:從這里可以查看到所有群組

    語法

    chgrp [-options] [群組名] [文檔路徑]

    備注:關(guān)于options,可以通過man chgrp、info chgrp、chgrp --help等命令查詢詳細(xì)用法。

    用法

    chgrp -R users test?改變test文件夾及其所有子文件(夾)的群組為users。

    注意:群組名稱不在位置內(nèi),將會報錯invalid group。

    變更權(quán)限

    Linux文檔的基本權(quán)限就三個,分別是read/write/execute,加上身份owner/group/others也一共也只有九個。權(quán)限變更的方式有2種,分別是符號法數(shù)字法

    符號法

    分別使用u,g,o來代表三種身份,a表示全部身份;分別使用r、w、x表示三種權(quán)限;分別使用+、-、=表示操作行為

    語法

    chmod | u g o a | +(加入) -(除去) =(設(shè)置) | r w x | 文檔路徑

    設(shè)置權(quán)限(=)

    變更目錄test的權(quán)限為任何人都可讀、寫、執(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),對目錄而已就是其他用戶能否cd test成為工作目錄。

    添加權(quán)限(+)

    增加目錄test執(zhí)行權(quán)限

    chmod u+x,g+x,o+x test 或 chmod ugo+x test 或 chmod a+x test

    備注:很熟悉吧,如果我們編寫完一個shell文件test.sh后,通過chmod a+x test.sh就添加了文件執(zhí)行權(quán)限。

    數(shù)字法

    顧名思義,就是使用數(shù)字來代表權(quán)限,r,w,x分別為4,2,1。三種權(quán)限累加就可以得出一種身份的權(quán)限。

    設(shè)置目錄test的權(quán)限為任何人都可讀、寫、執(zhí)行。

    chmod 777 test


    設(shè)置目錄test的權(quán)限為任何人都可讀、寫。

    chmod 666 test

    賦予一個shell文件test.sh可執(zhí)行權(quán)限,擁有者可讀、寫、執(zhí)行,群組賬號和其他人可讀、執(zhí)行。

    chmod 755 test

    備注:有沒有發(fā)現(xiàn)數(shù)字法更簡單啊!!!

    文件和目錄權(quán)限差異

    文檔權(quán)限對于文件和目錄有巨大的差異

    文件

    針對的是該文件內(nèi)容

    • readable 可讀取該文件的實際內(nèi)容

    • writable 可以編輯、新增或者是修改該文件的內(nèi)容

    • executable 有可以被系統(tǒng)執(zhí)行的權(quán)限

    備注:具有w權(quán)限不并不代表可以刪除文件,刪除文件是目錄權(quán)限控制的范圍。那是因為目錄的相關(guān)權(quán)限及屬性是記錄到目錄的inode,而目錄下的所有文件的名稱和對應(yīng)的索引文件(inode)號碼又是記錄到目錄所屬的block中,所以當(dāng)我們讀取某個文件時,必須先讀到目錄的inode,然后再讀取目錄的block信息,拿到待讀取文件的索引信息,即具體存儲在哪個block上,最后才能讀到文件內(nèi)容(這塊內(nèi)容,需要先理解Linux的文件系統(tǒng),比如Ext2/Ext3/Ext4,后面我們會詳細(xì)介紹) ------ 先記住文件權(quán)限僅僅對文件內(nèi)容有效。

    示例說明

    使用root身份讀取目錄test001下的文件test001-1
    查看目錄物理全路徑:pwd

    列出有關(guān)的目錄和文件:ll -di / /root /root/test001 /root/test001/test001-1

    通過man ls 查看-i,全稱inode,即 print the index number of each file

  • 目錄/的inode:通過掛載點的信息找到inode號碼為2的block。

  • 目錄/的block:通過上一步驟找到的block,找到root/目錄的inode號碼為131073。

  • 目錄root/的inode:讀取編號為131073的inode找到目錄的block。

  • 目錄root/的block:通過上一步驟找到的block,找到root/test001/目錄的inode號碼為527524。

  • 目錄root/test001/的inode:讀取編號為527524的inode找到目錄的block。

  • 目錄root/test001/的block:通過上一步驟找到的block,找到文件test001-1目錄的inode號碼為527526。

  • 文件test001-1的inode:讀取編號為527526的inode找到文件的block。

  • 文件test001-1的block:通過上一步驟找到的block,讀取文件內(nèi)容。

  • 由于使用的是root身份,具有讀取任何文檔的權(quán)限。如果,使用一般賬號,上面每一個步驟的讀取,還會匹配權(quán)限。

    目錄

    針對的是該目錄下的文件對象

    • readable 具有讀取目錄結(jié)構(gòu)清單的權(quán)限,即可以通過ls命令,查詢該目錄清單。

    • writable 具有變動該目錄結(jié)構(gòu)清單的權(quán)限,即可以創(chuàng)建、遷移、刪除、更名該目錄下的文件。

    • executable 具備進(jìn)入該目錄的權(quán)限,即可以通過cd命令,成為工作目錄。

    備注:從上面可以得出,開放目錄給任何人瀏覽時,至少需要賦予r或x權(quán)限。讀取目錄文件內(nèi)容,至少需要目錄權(quán)限x和文件權(quán)限r(nóng)。

    總結(jié)

    Linux的每個文檔可以分別針對三種身份賦予rwx權(quán)限;chgrp命令變更文件群組,chmod命令變更文件權(quán)限,chown變更文件擁有者;那么如何運用這些屬性和權(quán)限來保證每個租戶數(shù)據(jù)的安全性和隱密性,請看下一篇,Linux如何管理文檔多租戶進(jìn)行實戰(zhàn)練習(xí)。

    如果你覺得本篇文章對您有幫助的話,感謝您的【推薦】
    如果你對 linux 感興趣的話可以關(guān)注我,我會定期的在博客分享我的學(xué)習(xí)心得

    總結(jié)

    以上是生活随笔為你收集整理的漫谈Linux文档属性、拥有者、群组、权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。