前言:

學Java的過程中就接觸到瞭不少Linux命令,什麼cd、pwd、ls等,但是從未系統學習過,還好遇見瞭一本秘籍——《鳥哥的Linux私房菜-基礎學習篇(第三版)》,於是便有瞭如下的學習筆記,本篇主要包括如下內容:

  1. Linux的概念
  2. 用戶和用戶組
  3. 文件屬性
  4. Linux下的權限
  5. 書中小栗子

1.Linux的概念

Linux是類Unix的,支持多用戶多任務的分時操作系統,擁有多套發行版(分支),其內核是Linus Torvalds在1991年開發的,現如今的Linux是服務器和開發人員首選的操作系統,廣泛應用於嵌入式系統、服務器、超級計算機等,手機上的安卓操作系統也是基於Linux內核開發的。


2.用戶和用戶組

2.1用戶的概念

linux是多用戶多任務的分時操作系統,不同用戶可以"同時"在一臺服務器上執行不同的任務,CPU時間片輪轉執行這些任務,不同的用戶會產生不同的文件,有些文件可能不想讓其他用戶查看更改,於是用戶可以給文件設置相應的權限。

2.2用戶組的概念

Linux系統中一個用戶可以加入多個用戶組,一個用戶組就相當於一種"角色",其存在的目的就在於不同角色擁有不同權限,隻是Linux下的權限是對於文件or目錄而言的。

2.3小栗子

假設一臺Linux服務器上有6個用戶:root、lucifer、michael、user1、user2、user3,其中root是系統管理員,lucifer和michael是輔助管理者,user1~3則是普通用戶。現在root用戶創建瞭一個系統日志文件system.log,此時希望root可以讀寫執行,輔助管理者可以讀不可以寫、普通用戶不可以讀寫執行,那麼就可以通過用戶組來實現。

創建用戶組:admingroup,用來表示輔助管理者,組內包含lucifer和michael兩個用戶。

創建用戶組:tempuser,表示普通用戶,將user1~3加入其中。

將admingroup組的權限設為r-x,tempuser組權限設為—,然後更改system.log文件所屬群組admingroup,再更改文件權限為-rwxr-x—即可


3.文件屬性

文件屬性,就是文件相關的屬性,主要包括文件使用者的權限、文件連接數、文件所有者、文件所屬群組、文件大小、文件最後修改時間、文件名等。

3.1用戶分類的概念

Linux系統中,用戶組的概念和文件是息息相關的,對於文件/目錄來說,其存在的意義就是被用戶使用,而用戶主要分為三類:

  • 文件所有者Owner
  • 文件所屬群組用戶Group
  • 其他用戶Others

3.2文件屬性的組成

可以用ls -l命令查看詳細的文件/目錄的屬性:

-rw-r--r-- 1 root root 42304 Nov 15 10:32 install.log