Linux學習(三)使用者與使用者組
一、使用者賬號與使用者組的建立
1.使用者與使用者組的概念
Linux是一個多使用者、多工的伺服器作業系統。
通過 許可權的劃分 來實現。
(1)Linux使用者分為3鍾角色:
超級使用者:預設root。
普通使用者:只能對自己目錄下的檔案進行訪問和修改。
虛擬(偽)使用者:不能登入系統,其存在價值是為了方便系統管理。例如:預設的bin, adm, nobody使用者等。
(2)使用者組:批量管理一組使用者的許可權。
2.系統檔案
Linux系統中與使用者管理相關的主要系統檔案有/etc/passwd、/etc/shadow、/etc/group 和 /etc/gshadow。
(1)使用者資訊配置檔案/etc/passwd
由7個欄位構成:
使用者名稱:口令:使用者標識號(UID):使用者組標識號(GID):註釋性描述:使用者主目錄:命令直譯器
(2)使用者密碼配置檔案 /etc/shadow(只有root使用者能讀取)
由9個欄位構成:
使用者名稱:密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌
(3)使用者組配置檔案/etc/group
由4個欄位構成:
組名:組口令:組標識號(GID):組成員
(4)使用者組密碼配置檔案/etc/gshadow(only root)
由4個欄位構成:
組名:組口令:組的管理員賬號:組成員
3.使用者管理
主要包括:使用者建立、使用者資訊修改、使用者密碼建立、使用者刪除。
(1)用useradd建立使用者——xiaoming
//-d 指定使用者主目錄為:/var/xiaoming
//-g 使用者組:root
//-c 加註釋:101school
//-s 登入時使用的shell型別:/bin/sh
[[email protected] ~]# useradd -d /var/xiaoming -g root -c 101school -s /bin/sh xiaoming
//在passwd檔案中檢視新使用者資訊(最後一行)
[[email protected] ~]# tail -1 /etc/passwd
xiaoming:x:1003:0:101school:/var/xiaoming:/bin/sh
(2)用usermod修改使用者屬性
//-l:修改使用者名稱為 lixiaoming
[[email protected] ~]# usermod -l lixiaoming xiaoming
//-d:修改主目錄為 /var/lixiaoming xiaoming
[[email protected] ~]# usermod -d /var/lixiaoming lixiaoming
//-c:修改註釋 neusoft
[[email protected] ~]# usermod -c neusoft lixiaoming
[[email protected] ~]# tail -1 /etc/passwd
lixiaoming:x:1003:0:neusoft:/var/lixiaoming:/bin/sh
(3)用userdel刪除使用者
[[email protected] ~]# userdel -r lixiaoming
userdel:未找到 lixiaoming 的主目錄“/var/lixiaoming”
[[email protected] ~]# tail -1 /etc/passwd
mysql:x:1002:1002::/home/mysql:/sbin/nologin
4.使用者組管理
即使用者的集合,方便管理。
(1)用groupadd建立
//-r 是建立系統使用者組
[[email protected] /]# groupadd student
(2)用groupmod修改
//-n 修改使用者組名
[[email protected] /]# groupmod -n teacher student
(3)用groupdel刪除
[[email protected] /]# groupdel teacher
注:刪除使用者組時,被刪除的使用者組不能是某個使用者的主組
(4)用gpasswd維護組中成員
//-a 新增使用者到組
[[email protected] /]# gpasswd -a bob teacher
//-A 設為組管理員
[[email protected] /]# gpasswd -A bob teacher
//-d 刪除使用者
[[email protected] /]# gpasswd -d bob teacher
5.其他
[[email protected] ~]# id freya //檢視使用者資訊
uid=1000(freya) gid=1000(freya) 組=1000(freya),10(wheel)
[[email protected] ~]# groups freya //輸出所在組
freya : freya wheel
[[email protected] ~]# whoami //檢視當前登入使用者
root
[[email protected] ~]# who am i
freya pts/0 2018-10-24 10:29 (:0)
[[email protected] ~]# w //檢視當前使用者
11:15:26 up 3:47, 2 users, load average: 0.06, 0.11, 0.08
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
freya :0 :0 二09 ?xdm? 9:49 0.29s /usr/libexec/gn
freya pts/0 :0 10:29 6.00s 0.21s 4.34s /usr/libexec/gn
[[email protected] ~]# chsh -l //檢視系統安裝的shell型別,可使用chsh -s 型別 使用者 修改使用者shell型別
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
二、檔案屬性的讀取與修改
1.檔案屬性
使用長格式檢視目錄資訊:
檔案屬性由10個字母組成:
其中檔案型別共有7種:
- d(directory):目錄檔案
- l(link):符號連結(指向另一個檔案,類似windows的快捷方式)
- s(socket):套接字檔案
- b(block):塊裝置檔案,二進位制檔案
- c(character):字元裝置檔案
- p(pipe):管道檔案
- -:普通檔案
其中許可權共有3種:r \ w \ x (可執行)
2.修改檔案屬性
(1)修改檔案訪問許可權的chmod命令
-
絕對許可權法(數字許可權法)
使用者許可權是用rwx表示,則有許可權用1表示,沒有0,組成一個3位二進位制編碼再轉換為十進位制表示。例如:一檔案許可權為 rw- r-- r-- ,二進位制:110 100 100,十進位制:644
//修改test檔案的許可權為rw- r-- r--
chmod 644 test
- 相對許可權法(字元許可權法)
//對檔案test的組使用者新增寫許可權
chmod g+w test
其中 :u(檔案所有者)、g(同組使用者)、o(其他使用者)、a(全體使用者)
(2)修改檔案所有者的chown命令(許可權轉讓)
//將當前目錄下的file檔案的所有者修改為tom,所屬組修改為tup
chown tom.sup file
(3)提升使用者許可權
//切換到tom使用者
su - tom
同時可以再命令前加 sudo 來強制執行。