linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

Linux 文章 U盤 鼠標 程序員ACE 2019-07-14

寫在前面

我們都知道Linux是一個支持多用戶、多任務的系統,這也是它最優秀的特性,即可能同時有很多人都在系統上進行工作,所以千萬不要強制關機,同時,為了保護每個人的隱私和工作環境,針對某一個文檔(文件、目錄),Linux系統定義了三種身份,分別是擁有者(owner)、群組(group)、其他人(others),每一種身份又對應三種權限,分別是可讀(readable)、可寫(writable)、可執行(excutable)。

文檔屬性

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

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

  1. 第一列 共10位,第1位表示文檔類型,d表示目錄,-表示文件,l表示鏈接文件,d表示可隨機存取的設備,如U盤等,c表示一次性讀取設備,如鼠標、鍵盤等。後9位,依次對應三種身份所擁有的權限,身份順序為:owner、group、others,權限順序為:readable、writable、excutable。如:-r-xr-x---的含義為當前文檔是一個文件,擁有者可讀、可執行,同一個群組下的用戶,可讀、可寫,其他人沒有任何權限。
  2. 第二列 表示連結數
  3. 第三列 表示擁有者
  4. 第四列 表示所屬群組
  5. 第五列 表示文檔容量大小,單位字節
  6. 第六列 表示文檔最後修改時間,注意不是文檔的創建時間哦
  7. 第七列 表示文檔名稱。以點(.)開頭的是隱藏文檔

變更擁有者(owner) 位置etc/passwd

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
注意:必須是該位置下已存在的帳號。也就是在/etc/passwd中有記錄的擁有者才能改變。

語法chown[-R][帳號名稱][文件或目錄]

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

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

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

用法

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
備註:雖然也可以在擁有者與群組間加小數點(.),但為了避免有的同學命名中帶點,故還是建議使用冒號“:”來隔開擁有者與群組,避免誤判。

變更群組(group) 位置etc/group

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
備註:從這裡可以查看到所有群組

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

備註:關於options,可以通過man chgrp、info chgrp、chgrp --help等命令查詢詳細用法。

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

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
注意:群組名稱不在位置內,將會報錯invalid group。

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

- 符號法

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

語法

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

設置權限(=)

變更目錄test的權限為任何人都可讀、寫、執行。

chmod u=rwx,g=rwx,o=rwx test

chmod ugo=rwx test

chmod a=rwx test

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

去掉權限(-)

去掉目錄test執行權限

chmod u-x,g-x,o-x test

chmod ugo-x test

chmod a-x test

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
備註:執行權限(x),對目錄而已就是其他用戶能否cd test成為工作目錄。

添加權限(+)增加目錄test執行權限

chmod u+x,g+x,o+x test

chmod ugo+x test

chmod a+x test

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章
備註:很熟悉吧,如果我們編寫完一個shell文件test.sh後,通過chmod a+x test.sh就添加了文件執行權限。

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

設置目錄test的權限為任何人都可讀、寫、執行。

chmod 777 test

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

設置目錄test的權限為任何人都可讀、寫。

chmod 666 test

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

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

chmod 755 test

備註:有沒有發現數字法更簡單啊!!!

文件和目錄權限差異文檔權限對於文件和目錄有巨大的差異

文件

針對的是該文件內容

  • readable 可讀取該文件的實際內容
  • writable 可以編輯、新增或者是修改該文件的內容
  • executable 有可以被系統執行的權限
備註:具有w權限不可以刪除文件,刪除文件是目錄權限控制的範圍!!!記住文件權限針對是文件內容。

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

  • readable 具有讀取目錄結構清單的權限,即可以通過ls命令,查詢該目錄清單。
  • writable 具有變動該目錄結構清單的權限,即可以創建、遷移、刪除、更名該目錄下的文件。
  • executable 具備進入該目錄的權限,即可以通過cd命令,轉到工作目錄。
備註:從上面可以得出,開放目錄給任何人瀏覽時,至少需要賦予r或x權限。讀取目錄文件內容,至少需要目錄權限x和文件權限r。

總結Linux的每個文檔可以分別針對三種身份賦予rwx權限;chgrp命令變更文件群組,chmod命令變更文件權限,chown變更文件擁有者;那麼以後記得使用文檔權限來保護數據的安全性哦。

最後,想學習linux的小夥伴們!

請關注+私信回覆:“資料”就可以拿到一份我為大家準備的linux學習資料!

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

linux學習資料

linux之父:用五分鐘搞定 Linux 文檔全部知識,就看這篇文章

linux學習資料

相關推薦

推薦中...