Linux入門筆記5. 多使用者多任務
1、使用者與組
Linux是一個多使用者多任務的作業系統,可以允許多個使用者同在系統上執行不同的任務。
Linux的使用者一般分為超級使用者、普通使用者,還有虛拟使用者。
使用者與組:
把具有相同權限的使用者統一到一個組中,可以友善權限的管理。比如有多個使用者具有修改資料庫的權限,那麼可以将他們放在同一個組中,對這個組賦予修改資料庫的權限。
使用者與組不是一一對應的,一個使用者可以存在于多個組中,一個組可以包含多個使用者。
2、使用者配置檔案
/etc/passwd 檔案用于配置使用者,可用vim檢視或修改這個檔案
vim /etc/passwd
每行代表一個使用者,具體格式如下:
使用者名 : 密碼 : 使用者辨別号 : 組辨別号 : 描述 : 主目錄 : 預設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等子目錄:
通過useradd –help檢視它有哪些選項
建立一個使用者user1,指定組為mygroup1,附加組為mygroup2
sudo useradd -g mygroup1 -G
(2)usermod 修改使用者資訊
修改使用者user1的組為mygroup3
sudo
(3)userdel 删除使用者
删除使用者user1 并删除主目錄及子目錄的所有檔案
sudo
4、組管理工具
(1)groupadd 指令用來建立使用者組
sudo groupadd -g 1020
執行上面的指令後,然後使用指令
more /etc/group
檢視組,可以看到多了一個GID為1020的mygroup
(2)groupdel 指令用來删除使用者組
sudo
(3)newgrp 指令用來切換組
如果目前使用者屬于組group1,同時又屬于組group2,可用newgrp指令切換組
sudo
5、檔案權限
(1)不同的使用者擁有不同的檔案權限,用
ls -al
可以檢視檔案的權限
其中: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的檔案,它的權限如下:
除了所有者外,其他使用者對它的權限是“隻讀”的
現在要給所有使用者“寫”的權限,可以用下面的指令,效果如下圖所示
sudo
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
使用指令
ls -al | grep test.txt
檢視test.txt的權限,可以看到test.txt的權限被修改為:
-rwxrw-r-x
補充:
當然,你也可以使用通配符 ‘*’,來設定目前路徑下的所有檔案的權限
For example:
假如,目前你的路徑下有檔案:1.txt, 2.html, 3.py
使用指令
chmod 777 *
可以同時設定上述三個檔案的權限為rwx