1. 程式人生 > >Linux運維入門~5.使用者管理

Linux運維入門~5.使用者管理

無論是在企業中還是日常生活中,登入一臺裝置肯定不只一個人,所以,這個時候就要用到今天介紹的多使用者管理。

1.使用者分類

在linux下使用者是根據角色定義的,具體分為三種角色:

超級使用者:擁有對系統的最高管理許可權,預設是root使用者。

普通使用者:只能對自己目錄下的檔案進行訪問和修改,具有登入系統的許可權。

虛擬使用者:不能登入系統,它們的存在主要是方便系統管理,滿足相應的系統程序對檔案屬主的要求。

2.使用者和組的概念

我們知道,Linux是一個多使用者多工的分時作業系統,如果要使用系統資源,就必須向系統管理員申請一個賬戶,然後通過這個賬戶進入系統。這個賬戶和使用者是一個概念,通過建立不同屬性的使用者,一方面,可以合理的利用和控制系統資源,另一方面也可以幫助使用者組 織檔案,提供對使用者檔案的安全性保護。
每個使用者都用一個唯一的使用者名稱和使用者口令,在登入系統時,只有正確輸入了使用者名稱和密碼,才能進入系統和自己的主目錄。
使用者組是具有相同特徵使用者的邏輯集合,有時我們需要讓多個使用者具有相同的許可權,比如檢視、修改某一個檔案的許可權,一種方法是分別對多個使用者進行檔案訪問授 權,如果有10個使用者的話,就需要授權10次,顯然這種方法不太合理;另一種方法是建立一個組,讓這個組具有檢視、修改此檔案的許可權,然後將所有需要訪問 此檔案的使用者放入這個組中,那麼所有使用者就具有了和組一樣的許可權。這就是使用者組,將使用者分組是Linux 系統中對使用者進行管理及控制訪問許可權的一種手段,通過定義使用者組,在很大程度上簡化了管理工作。

引自:
   https://blog.csdn.net/yasi_xi/article/details/8152938   Linux 使用者與組的概念

3.使用者的檢視

1)檢視當前使用者

命令:whoami

2) 檢視使用者資訊

命令:

id    使用者名稱                    檢視指定使用者id資訊

id     -u      使用者名稱          檢視使用者的uid

id     -g      使用者名稱          檢視使用者的gid

id     -G     使用者名稱          檢視使用者所在的所有組的id

id      -n     使用者名稱          顯示名字而不顯示id數字

例:檢視student使用者資訊

4.使用者切換

su - 使用者名稱

注意:su - 中 “-” 標示在使用者身份切換時同時切換當前使用者的環境

            su - 執行時高階使用者切換到低階使用者不需要密碼,低階使用者切換到高階需要,平級使用者切換切換也需要

            每次su切換到其他使用者操作之後必須退出,然後再次切換到其他使用者

例:

root使用者切換student

student使用者切換root使用者

5.使用者在系統中的儲存方式

/etc/passwd  為使用者資訊檔案
    使用者名稱稱:密碼:uid:gid:說明:家目錄:預設shell
 例:


/etc/group  為使用者組資訊檔案
    組的名字:組密碼:組id:組成員

例:


/etc/shadow 為認證資訊檔案

/etc/skel/.*   預設開啟shell的配置,使用者的骨檔案

/home/username    使用者的家目錄

 

6.使用者管理

1)使用者刪除

userdel       使用者名稱           刪除使用者但不刪除使用者的配置檔案

userdel  -r  使用者名稱           刪除使用者並刪除使用者的配置檔案

2)使用者資訊監控指令

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'

每一秒重新整理一次,再開啟一個shell

3)使用者建立

命令:

useradd  要建立的使用者名稱

useradd -u 8888 jack                            指定使用者jack的uid為8888
useradd -g 21    jack                             指定使用者初始組id,"21使用者組必須是存在的"
useradd -G 21    jack                            指定使用者的附加組id “21使用者組必須存在”
useradd -c "hello" jack                          指定使用者的說明為hello
useradd -d /home/666 jack                  指定使用者的家目錄
useradd -s /bin/sh jack                          指定使用者的預設shell

注意:上述命令只能在使用者創立時使用,若使用者已存在會報錯

4)建立使用者組

groupadd   666              建立使用者組666

groupadd -g 888 666   建立使用者組並指定使用者組的gid

groupdel 666                 刪除使用者組666

5)更改使用者資訊

usermod
usermod -l 新名稱    jack               更改使用者的名稱
usermod -u 6666      jack               更改使用者uid為6666
usermod -g 21          jack               更改使用者的初始組
usermod -G 21         jack                更改使用者的附加組
usermod -aG 72       jack               新增使用者的附加組
usermod -G ""           jack               刪除使用者所有附加組的身份
usermod -c "hahahah"    jack         更改使用者說明文字
usermod -d /home/lee     jack        更改使用者家目錄的指向
usermod -md /home/lee    jack      更改使用者家目錄
usermod -s /bin/sh    jack                更改使用者的shell
usermod -L         jack                       凍結使用者
usermod -U        jack                       解鎖使用者

 

7.使用者認證

/etc/shadow        檔案記錄使用者認證資訊

此檔案含有

使用者名稱稱:使用者密碼:使用者密碼最後一次被更改的時間:使用者密碼最短有效期:使用者密碼最長有效期:

密碼警告期限:使用者非活躍天數:使用者到期日:使用者自定義列

可使用命令:passwd  -S  jack          檢視jack使用者的密碼資訊

*修改使用者密碼
    passwd         使用者名稱             更改使用者密碼
    passwd  -l     使用者名稱             在使用者密碼前加入“!!”
    passwd  -u     使用者名稱    
    usermod -L    使用者名稱            在使用者密碼前加入“!”
    usermod -U     使用者名稱           在密碼不為空時使用
    passwd  -d     使用者名稱            清空使用者密碼

注意:普通使用者改密碼時
    1.必須知道當前永久原始密碼
    2.密碼不能和帳號名稱相似
    3.密碼不能是純數字或純字母
    4.密碼不能是有序的字母和數字的組合

拓展:

1)使用者密碼最後一次被更改的時間
    passwd -e westos    會改變使用者最後一次更改密碼時間為0.
                                       即,使用者在登陸時會被強制更改密碼
    chage -d 0 westos   兩個命令功能類似
 
 2)使用者密碼最短有效期
    passwd -n 1 westos   westos使用者在1天之內不能修改密碼
    chage -m 1 westos        
 
3)使用者密碼最長有效期
    passwd -x 30    westos    設定westos在30天內必須改密碼
    chage -M 40    westos
    密碼警告期限
    passwd -w 2    westos     密碼過期前兩天有警告輸出
    chage -W 2    westos
    使用者非活躍天數
    passwd -i 1    westos       密碼過期後仍可登陸系統的天數
    chage -I 1    westos
     使用者到期日
    chage -E  2018-11-11 westos    westos使用者在2018-11-11日會被凍結
 

寫在最後,如果大家喜歡linux運維方面的知識,歡迎關注本博主,會每週更新與linux運維相關的一些小知識,幫助大家入門

願你與我一同成長!

往期:

ttps://blog.csdn.net/Stella_Pooter/article/details/82951345        Linux運維入門~1.虛擬機器使用

https://blog.csdn.net/Stella_Pooter/article/details/82952307      Linux運維入門~2.命令列使用技巧

https://blog.csdn.net/Stella_Pooter/article/details/82960344      Linux運維入門~3.檔案管理

https://blog.csdn.net/Stella_Pooter/article/details/82971516      Linux運維入門~4.輸入輸出管理與vim管理

Never say die