天天看點

Linux入門筆記5. 多使用者多任務

Linux入門筆記5. 多使用者多任務

1、使用者與組

Linux是一個多使用者多任務的作業系統,可以允許多個使用者同在系統上執行不同的任務。

Linux的使用者一般分為超級使用者、普通使用者,還有虛拟使用者。

使用者與組:

把具有相同權限的使用者統一到一個組中,可以友善權限的管理。比如有多個使用者具有修改資料庫的權限,那麼可以将他們放在同一個組中,對這個組賦予修改資料庫的權限。

使用者與組不是一一對應的,一個使用者可以存在于多個組中,一個組可以包含多個使用者。

2、使用者配置檔案

/etc/passwd 檔案用于配置使用者,可用vim檢視或修改這個檔案

vim /etc/passwd      
Linux入門筆記5. 多使用者多任務

每行代表一個使用者,具體格式如下:

使用者名 : 密碼 : 使用者辨別号 : 組辨別号 : 描述 : 主目錄 : 預設shell

其中,有幾點需要注意:

  • 密碼是加密後的密碼,在/etc/passwd中用’x’或’*’表示。加密後的密碼存在/etc/shadow中
  • 使用者辨別号,UID,範圍是【0-65535】,0是超級使用者,普通使用者從500開始
  • 組辨別号,GID,在/etc/group檔案中管理
  • 預設shell,使用者登陸後預設的shell

3、使用者管理工具

(1)useradd 添加一個使用者

添加使用者時分為以下幾個步驟:

- 首先根據/etc/login.defs和/etc/defaut/useradd 中定義的規則添加使用者

- 然後在/etc/passwd和/etc/group中添加使用者群組(對應的加密檔案也會自動添加記錄)

- 最後建立使用者主目錄,并講/etc/skel 目錄下的檔案/目錄複制到主目錄下

skel目錄下包含Desktop、Documents等子目錄:

Linux入門筆記5. 多使用者多任務

通過useradd –help檢視它有哪些選項

Linux入門筆記5. 多使用者多任務

建立一個使用者user1,指定組為mygroup1,附加組為mygroup2

sudo useradd -g mygroup1 -G      

(2)usermod 修改使用者資訊

修改使用者user1的組為mygroup3

sudo      

(3)userdel 删除使用者

删除使用者user1 并删除主目錄及子目錄的所有檔案

sudo      

4、組管理工具

(1)groupadd 指令用來建立使用者組

Linux入門筆記5. 多使用者多任務
sudo groupadd -g 1020      

執行上面的指令後,然後使用指令​

​more /etc/group​

​ 檢視組,可以看到多了一個GID為1020的mygroup

Linux入門筆記5. 多使用者多任務

(2)groupdel 指令用來删除使用者組

sudo      

(3)newgrp 指令用來切換組

如果目前使用者屬于組group1,同時又屬于組group2,可用newgrp指令切換組

sudo      

5、檔案權限

(1)不同的使用者擁有不同的檔案權限,用​

​ls -al​

​ 可以檢視檔案的權限

Linux入門筆記5. 多使用者多任務

其中:d表示目錄,r表示讀,w表示寫,x表示可執行,- 表示空

以Desktop目錄為例:

類型 所有者 所屬使用者組組 其它使用者
d r w x r - x r - x
目錄 讀 寫 執行 讀 執行 讀 執行
  • Desktop是一個目錄,
  • 它的所有者(user)可以對它進行“讀、寫和執行”操作;
  • 它所屬的使用者組中的使用者,可對它進行“讀和執行”操作;
  • 其他使用者可對它進行“讀和執行”操作

2 表示目錄的硬連結數量

後面兩項lijialin表示目錄所屬的使用者群組

4096是文檔的大小,即4096B

11月 5 15:06表示最後的修改的日期

Desktop是文檔名稱

(2)改變權限的指令:chmod

chmod 指令有兩種使用方式:

  • chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file
  • chmod [xyz] file

A. 先看 chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

選項 作用
u User,檔案的所有者
g Group,使用者組
o Other,即其他使用者
a ALL,所有使用者
+ 增權重限
- 取消權限
= 賦予權限
r Read,即讀檔案
w Write,即寫檔案
x 運作檔案
file 檔案的路徑

現在有一個名為test.txt的檔案,它的權限如下:

除了所有者外,其他使用者對它的權限是“隻讀”的

Linux入門筆記5. 多使用者多任務

現在要給所有使用者“寫”的權限,可以用下面的指令,效果如下圖所示

sudo      
Linux入門筆記5. 多使用者多任務

B. 再看 chmod [xyz] file

其中,x,y,z分别表示數字(最大不超過7),并分别對應User、Group、Other

x,y,z的值由r(r=4),w ( w=2 ),x ( x=1 )來确定

sudo chmod 765      
Linux入門筆記5. 多使用者多任務

使用指令 ​

​ls -al | grep test.txt​

​​ 檢視test.txt的權限,可以看到test.txt的權限被修改為:​

​-rwxrw-r-x​

Linux入門筆記5. 多使用者多任務

補充:

當然,你也可以使用通配符 ‘*’,來設定目前路徑下的所有檔案的權限

For example:

假如,目前你的路徑下有檔案:1.txt, 2.html, 3.py

使用指令 ​​

​chmod 777 *​

​ 可以同時設定上述三個檔案的權限為rwx