1. 程式人生 > >Linux學習(三)使用者與使用者組

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 來強制執行。