「Linux」鳥叔私房菜第五章讀書筆記
第五章 Linux 的檔案許可權與目錄配置
5.1 使用者與群組
- 1.檔案擁有者 User
- 2.群組概念 Group
- 3.其他人的概念 Others
5.2 Linux檔案屬性
列出當前目錄下的所有檔案及目錄
ls -ah
5.2.1 Linux 檔案屬性
輸出結果:
-rw-r--r-- 1 root root 2494 7月 23 21:40 weather_test.py
1.第一個字元代表這個檔案是『目錄、檔案或連結檔案等等』:
- 當為[ d ]則是目錄;
- 當為[ – ]則是檔案;
- 若是[ l ]則表示為連結檔(link file);
- 若是[ b ]則表示為裝置檔案裡面的可供儲存的介面裝置(可隨機存取裝置);
- 若是[ c ]則表示為裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠(一次性讀取裝置)
2.接下來的字元中,以三個為一組,且均為『rwx』 的三個引數的組合。其中,[ r ]代表可讀(read)、[ w ]代表 可寫(write)、[ x ]代表可執行(execute)。 要注意的是,這三個許可權的位置不會改變,如果沒有許可權,就會出現減號[ – ]而已。
- 第一組為『檔案擁有者可具備的許可權』;
- 第二組為『加入此群組之賬號的許可權』;
- 第三組為『非本人且沒有加入本群組之其他賬號的許可權』。
3.第二欄表示有多少檔名連結到此節點(i-node):
4.第三欄表示這個檔案(或目錄)的『擁有者賬號』
5.第四欄表示這個檔案的所屬群組
6.第五欄為這個檔案的容量大小,預設單位為bytes
7.第六欄為這個檔案的建檔日期或者是最近的修改日期
8.第七欄為這個檔案的檔名
- 如果檔名之前多一個『 . 』,則代表這個檔案為『隱藏檔』
5.2.2 如何改變檔案屬性與許可權
- chgrp :改變檔案所屬群組
- chown :改變檔案擁有者
- chmod :改變檔案的許可權
1.改變所屬群組, chgrp
[root@study ~]# chgrp [-R] dirname/filename ...
選項與引數:
-R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案、目錄
都更新成為這個群組之意。常常用在變更某一目錄內所有的檔案之情況。
範例:
[root@study ~]# chgrp users initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 root users 1864 May 4 18:01 initial-setup-ks.cfg [root@study ~]# chgrp testing initial-setup-ks.cfg
chgrp: invalid group: `testing` <== 發生錯誤訊息囉~找不到這個群組名~
注意:要被改變的組名必須要在/etc/group 檔案記憶體在才 行,否則就會顯示錯誤!
2.改變檔案擁有者,chown
[root@study ~]# chown [-R] 賬號名稱 檔案或目錄
[root@study ~]# chown [-R] 賬號名稱:組名 檔案或目錄
選項與引數:
-R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都變更
範例:將 initial-setup-ks.cfg 的擁有者改為 bin 這個賬號: [root@study ~]# chown bin initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 bin users 1864 May 4 18:01 initial-setup-ks.cfg
範例:將 initial-setup-ks.cfg 的擁有者與群組改回為 root:
[root@study ~]# chown root:root initial-setup-ks.cfg [root@study ~]# ls -l
-rw-r--r--. 1 root root 1864 May 4 18:01 initial-setup-ks.cfg
使用者必須是已經存在系統中的賬 號,也就是在/etc/passwd 這個檔案中有紀錄的使用者名稱稱才能改變。
chown 也可以使用『chown user.group file』,亦即在擁有者與群組間加上小數
點『 . 』也行! 不過很多朋友設定賬號時,喜歡在賬號當中加入小數點(例如 vbird.tsai 這樣的賬號格式),這就會 造成系統的誤判了! 所以我們比較建議使用冒號『:』來隔開擁有者與群組啦!此外,chown 也能單純的修改所屬 群組呢! 例如『chown .sshd initial-setup-ks.cfg』就是修改
3.改變許可權, chmod
數字型別改變檔案許可權,各許可權的分數對照表如下:
- r:4
- w:2
- x:1
舉個例子:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= — = 0+0+0 = 0
[root@study ~]# chmod [-R] xyz 檔案或目錄
選項與引數:
xyz : 就是剛剛提到的數字型別的許可權屬性,為 rwx 屬性數值的相加。
-R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更
符號型別改變檔案許可權 ,就可以藉由 u, g, o 來代表三種身份的許可權!此外, a 則代表 all 亦即全部
的身份!那麼讀寫的許可權就可以寫成 r, w, x 囉
[root@study ~]# chmod u=rwx,go=rx .bashrc
# 注意喔!那個 u=rwx,go=rx 是連在一起的,中間並沒有任何空格符! [root@study ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Dec 29 2013 .bashrc
5.2.3 目錄與檔案之許可權意義
1.許可權對檔案的重要性
- r (Read):可讀取此一檔案的實際內容,如讀取文字檔案的文字內容等;
- w (Write):可以編輯、新增或者是修改該檔案的內容(但不含刪除該檔案);
- x (eXecute):該檔案具有可以被系統執行的許可權。
2.許可權對目錄的重要性
- r (read contents in directory):
表示具有讀取目錄結構列表的許可權,所以當你具有讀取(r)一個目錄的許可權時,表示你可以查詢該目錄下的 檔名資料。 所以你就可以利用 ls 這個指令將該目錄的內容列表顯示出來 -
w (modify contents of directory):
這個可寫入的許可權對目錄來說,是很了不起的! 因為他表示你具有異動該目錄結構列表的許可權,也就是底 下這些許可權:- 建立新的檔案與目錄;
- 刪除已經存在的檔案與目錄(不論該檔案的許可權為何!)
- 將已存在的檔案或目錄進行更名;
- 搬移該目錄內的檔案、目錄位置。
- x (access directory):
目錄只是記錄檔名而已,總不能拿來執行吧?沒錯!目錄不可以被執 行,目錄的 x 代表的是使用者能否進入該目錄成為工作目錄的用途! 所謂的工作目錄(work directory)就是你 目前所在的目錄啦!舉例來說,當你登入 Linux 時, 你所在的家目錄就是你當下的工作目錄。而變換目錄 的指令是『cd』(change directory)囉!
元件 | 內容 | 迭代物件 | r | w | x |
---|---|---|---|---|---|
檔案 | 詳細資料 data | 檔案資料夾 | 讀到檔案內容 | 修改檔案內容 | 執行檔案內容 |
目錄 | 文件名 | 可分類抽屜 | 讀到檔名 | 修改檔名 | 進入該目錄的許可權(key) |
5.2.4 Linux 檔案種類與副檔名
略
5.3 Linux目錄配置
5.3.1 Linux 目錄配置的依據–FHS
Filesystem Hierarchy Standard (FHS)標準
5.3.2 目錄樹(directory tree)
ls -al /
5.3.3 絕對路徑與相對路徑
- 絕對路徑:由根目錄(/)開始寫起的檔名或目錄名稱, 例如 /home/dmtsai/.bashrc;
- 相對路徑:相對於目前路徑的檔名寫法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正開頭不是 /就屬於相對路徑的寫法
- . :代表當前的目錄,也可以使用 ./ 來表示;
- .. :代表上一層目錄,也可以 ../ 來代表。
相關文章
- linux-鳥哥私房菜學習筆記Linux筆記
- 菜鳥的讀書筆記筆記
- 鳥哥私房菜-基礎篇小筆記筆記
- 鳥哥的Linux私房菜 -- 電子書(pdf)Linux
- Linux私房菜筆記01Linux筆記
- linux學習導讀_鳥哥的私房菜Linux
- 鳥哥的 Linux 私房菜Linux
- 鳥哥的Linux私房菜筆記第六章Linux筆記
- 鳥哥私房菜學習筆記(第零章)筆記
- 鳥哥的Linux私房菜--CPU種類Linux
- PJzhang:鳥哥的linux私房菜-shell指令碼-上Linux指令碼
- 劉遄:作為一名新人讀完《鳥哥的Linux私房菜》的感想Linux
- 鳥哥的Linux私房菜基礎篇 第十三章 shell scriptsLinux
- 【菜鳥教程筆記】Python字串筆記Python字串
- MFC入門——菜鳥級筆記筆記
- 鳥哥的LINUX私房菜_基礎學習篇(第三版)Linux
- 菜鳥學Linux 第111篇筆記 MemoryLinux筆記
- 菜鳥學Linux第055篇筆記php基礎Linux筆記PHP
- 【菜鳥筆記|機器學習】神經網路筆記機器學習神經網路
- 菜鳥筆記之資料結構(24)筆記資料結構
- Android菜鳥學習js筆記一AndroidJS筆記
- 菜鳥筆記之PWN入門(1.0.0)前言筆記
- 菜鳥學Linux第058篇筆記httpd編譯安裝Linux筆記httpd編譯
- Linux C++ 自學筆記之二<菜鳥初學系列> (轉)LinuxC++筆記
- Linux“菜鳥”到“菜鳥的一些建議Linux
- 菜鳥筆記之計算機網路(4)筆記計算機網路
- 菜鳥也玩mysql之學習筆記篇MySql筆記
- SQL*Plus菜鳥筆記之第六篇SQL筆記
- SQL*Plus菜鳥筆記之第五篇SQL筆記
- SQL*Plus菜鳥筆記之第四篇SQL筆記
- SQL*Plus菜鳥筆記之第三篇SQL筆記
- SQL*Plus菜鳥筆記之第二篇SQL筆記
- [讀書筆記]跟阿銘學Linux筆記Linux
- 讀書筆記...筆記
- 讀書筆記筆記
- 《讀書與做人》讀書筆記筆記
- 菜鳥筆記之pwn工具篇--Pwndbg基礎使用筆記
- Linux菜鳥到老鳥的那些建議Linux