小編給大家分享一下Linux中文檔屬性、擁有者、群組、權(quán)限的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在昭通等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,昭通網(wǎng)站建設(shè)費(fèi)用合理。
寫在前面
我們都知道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)、可寫(writable)、可執(zhí)行(excutable),通過(guò)這樣的設(shè)計(jì)就可以保證每個(gè)使用者所擁有數(shù)據(jù)的隱密性。
文檔屬性
使用命令ls -al --full-time
,或者此命令的簡(jiǎn)寫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è)群組下的用戶,可讀、可寫,其他人沒有任何權(quán)限。
第二列
表示連結(jié)數(shù)
第三列
表示擁有者
第四列
表示所屬群組
第五列
表示文檔容量大小,單位字節(jié)
第六列
表示文檔最后修改時(shí)間,注意不是文檔的創(chuàng)建時(shí)間哦
第七列
表示文檔名稱。以點(diǎn)(.)開頭的是隱藏文檔
變更擁有者(owner)
位置
etc/passwd
注意:必須是該位置下已存在的帳號(hào)。也就是在/etc/passwd
中有記錄的擁有者才能改變。
語(yǔ)法
chown [-R] [帳號(hào)名稱] [文件或目錄]
chown [-R] [帳號(hào)名稱]:[群組名稱] [文件或目錄]
備注:此命令也可以順便變更文檔群組,但還是建議使用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)隔開擁有者與群組,避免誤判。
變更群組(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)限為任何人都可讀、寫、執(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
備注:很熟悉吧,如果我們編寫完一個(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)限為任何人都可讀、寫、執(zhí)行。
chmod 777 test
設(shè)置目錄test的權(quán)限為任何人都可讀、寫。
chmod 666 test
賦予一個(gè)shell文件test.sh可執(zhí)行權(quán)限,擁有者可讀、寫、執(zhí)行,群組賬號(hào)和其他人可讀、執(zhí)行。
chmod 755 test
備注:有沒有發(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è)撃夸浨鍐巍?/p>
writable 具有變動(dòng)該目錄結(jié)構(gòu)清單的權(quán)限,即可以創(chuàng)建、遷移、刪除、更名該目錄下的文件。
executable 具備進(jìn)入該目錄的權(quán)限,即可以通過(guò)cd命令,成為工作目錄。
備注:從上面可以得出,開放目錄給任何人瀏覽時(shí),至少需要賦予r或x權(quán)限。讀取目錄文件內(nèi)容,至少需要目錄權(quán)限x和文件權(quán)限r(nóng)。
以上是“Linux中文檔屬性、擁有者、群組、權(quán)限的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!