大家好,今天給大家介紹一下Linux 用戶-用戶組-權限:
在我們首次安裝 linux操作系統中,會創建一個賬戶應用於登錄系統,由於linux系統是一個多用戶系統,所以,我們可以創建多個用戶,每個用戶賦予不同的權限,這樣就可以實現多用戶共同管理,維護系統,在linux中,有用戶、用戶組、權限這樣的概念,並且,用戶,用戶組,權限 是兩兩多對多的關系,即一個用戶可以同時,在多個組,而多個組,又對應多個權限。
1.用戶的添加:
useradd user1 # 添加user1用戶到系統 並且 系統 為該用戶創建一個同名的用戶組
useradd -m user1 # -m 表示 為user1 創建home 目錄
useradd -g group_user1 user1 # 創建用戶user1 並將其 添加到group_user1 組內,前提是要添加的組必須存在 否則添加失敗
useradd -d 用戶目錄 -s 解釋器 用戶名 # 添加用戶 並指定 用戶目錄 個用戶解釋器
id # 查看當前的用戶信息 uid(用戶信息) gid(用戶組信息) groups(附加組信息)
id user1 # 查看 user1 用戶的信息
2.用戶密碼的設置,用戶切換、刪除:
passwd # 設置當前用戶密碼
passwd user1 # 設置user1 用戶的密碼
su user1 # 切換到user1 用戶 su 后面可以加 "-" su - 切換到對應的用戶時候 會將當前的工作目錄自動轉換到 切換后的用戶主目錄
userdel user1 # 刪除用戶
userdel -r user1 # 刪除用戶 同時刪除用戶主目錄 -f 表示強制刪除
3.用戶信息的修改:
usermod -g -G 組名 用戶名 # 將用戶添加到指定的組 -g 指定默認組 -G 指定附加組
例如:uermod -g -G sudo 組名 用戶名 # 為用戶添加 sudo 權限
usermod -G 組1,組2,組3 用戶名 # 修改 該用戶的附加組 為組1,組2,組3
4.新建組,刪除組、組修改:
groupadd 組名 # 創建 新組
groupdel 組名 # 刪除組
groupmod -n 新組名 舊組名 # 組名稱修改
5.用戶、用戶組的 配置文件,影子文件:
1> 用戶 配置 文件
位置: /etc/passwd
用戶影子文件位置: /etc/shadow 里面存放 加密后的用戶信息 嘆號表示 該用戶為設置密碼
含義:1.用戶名 2.密碼標志 3.uid(用戶id) 4.GID(組id) 5.用戶全名 6.家目錄 7.使用的shell
2> 組 配置文件
位置: /etc/group
用戶組 影子文件位置:/etc/gshadow 里面存放 加密后的用戶組 信息
含義:1.組名稱 2.密碼標志 3.組id 4.附加用戶 (多個用戶用 ,隔開)
6.shell 類型 ,內置命令 外置命令:
1.常用的三種解釋器:
/bin/bash
/usr/sbin/nologin
/bin/sh
2.cat /etc/shells # 查看系統的shell 種類
chsh # 修改當前用戶的shell
chsh 用戶名 # 該用戶名所對應的 shell
3.內置命令 & 外置命令:
shell 命令 一般可分為 內置命令和外置命令,內置命令 常駐內存效率高 外置命令 則相對 內置命令 效率較低,同過 which command 若 出現 命令的位置 則為外置命令 否則為內置命令
7. 權限管理:
通過 ll命令 我們可以查看當前 目錄的文件列表
- --- --- --- : 每個文件都會有這些屬性:
第一個:"-" 為 d 則表示目錄 否則表示 文件
后面9 個“-” 每三個 為一組 分別代表 用戶 、用戶組、其他用戶 對該文件的權限
而每一組:分別有 r :可讀 權限 w: 可寫權限 x: 可執行權限
注意: 對於目錄來說:r w x 則代表另外的含義:r: 可以讀取 該目錄的文件列表 (不能讀取文件內容信息) w:可以在 該目錄中進行文件的 創建或者刪除 等操作 x:表示只能進入目錄
1> 字母法:
chmod u/g/o/ +/-/= r/w/x 文件
u --> 用戶,g -->組 ,o -->其他用戶
+: 增加權限 -:刪除權限 =:賦予權限
r :讀 w: 寫 x: 執行
2> 數字法:
100 <==> 4 <==> r 讀
010 <==> 2 <==> w 寫
001 <==> 1 <==> x 執行
000 <==> 0 <==>"-" 不具備任何權限
例如: chmod 751 file:即為 該文件 用戶:增加 讀寫執行 用戶組:增加讀寫 其他用戶:增加 執行 權限
3> 修改文件所有者:
chown 新用戶名 文件名 # 即將該文件 所有者修改問 新用戶名
-R 表示 遞歸 通常 修改 該目錄下的所有文件
4> 修改文件所屬的組
chgrp 新組名 文件名 # 即 將該文件 所屬的組修改為新組
-R 表示 遞歸 通常 修改 該目錄下的所有文件