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