1. 程式人生 > >linux新手基礎3-使用者的管理

linux新手基礎3-使用者的管理

linux新手基礎3——使用者的管理

1.使用者存在的意義

使用者就是系統使用者的身份。
在系統中使用者儲存為若干串字元+若干個系統配置檔案。

2.組存在的意義

1)
檢視當前的使用者
whoami ##檢視當前的使用者
在這裡插入圖片描述
2)
系統中使用者的檢視
id ##檢視指定使用者的id
-u ##檢視使用者的uid
-g ##檢視使用者的gid
-G ##檢視使用者的所有組的id
-n ##顯示名字而不是數字
-nG ##檢視使用者的所有組的名字
在這裡插入圖片描述

3.使用者的切換

su - 使用者名稱稱
su - 中“-”表示使用者身份切換的同時切換當前使用者的環境
su - 執行時高階使用者切換到低階使用者不需要輸入密碼,低階使用者切換到高階使用者需要輸入密碼。平等級別的使用者切換也需要輸入密碼。
在這裡插入圖片描述


敲重點:
每次su切換到其他使用者操作後必須退出,然後再次切換到其他使用者。

  gnome-session-quit --force     ##登出當前使用者,然後再登入其他使用者
   
  exit             ##退出當前shell

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

/etc/passwd
使用者資訊檔案
使用者名稱稱:密碼:uid:gid:對使用者的說明:家目錄:預設shell
uid:大於1000 不超過60000
gid:大於1000 不超過60000

/etc/group
使用者組資訊檔案
組的名字:組密碼:組id:組成員
/etc/shadow
認證資訊檔案
/etc/skel/.*
預設開啟shell的配置,使用者的骨檔案
watch -n 5 命令
監視一條命令以5秒執行一次
/home/username
使用者的家目錄
在這裡插入圖片描述

5.使用者管理命令

1)使用者的刪除
userdel
userdel student ##刪除使用者但不刪除使用者的配置檔案
userdel -r student ##刪除使用者並刪除使用者的配置檔案
在這裡插入圖片描述
2)使用者的建立
用使用者監控命令可以清楚的看到效果

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'
命令 含義
useradd hahaha 建立使用者時,讀取/etc/login.defs檔案內容確定規則
useradd -u 1234 hahaha 指定使用者uid
useradd -g 20 hahaha 指定使用者初始組id,“20”使用者組必須存在
useradd -G 21 hahaha 指定使用者的附加組,“20”使用者組必須存在
useradd -c “shuaige” hahaha 指定使用者的說明
useradd -d /home/ka hahaha 指定使用者的家目錄
useradd -s /bin/sh hahaha 指定使用者的預設shell
groupadd hahaha1 建立使用者組
groupadd -g 666 hahaha1 建立使用者組並指定使用者組的id
groupdel hahaha1 刪除使用者組

3)更改使用者資訊
為了更好的看到效果,我們對操作進行監控:

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

更改使用者名稱稱:

usermod  -l redhat  westeos

在這裡插入圖片描述
更改uid:

 usermod -u 1234  redhat

在這裡插入圖片描述
更改初始組g:

usermod -g 666 redhat

在這裡插入圖片描述
更改附加組G:
usermod -G 4444 redhat
在這裡插入圖片描述
更改附加組G為空:

usermod -G ‘’ redhat

在這裡插入圖片描述
在不變的情況下新增附加組:

usermod -aG 1001 redhat

在這裡插入圖片描述
更改說明文字:

usermod -c ‘hahaha’ redhat
在這裡插入圖片描述
更改使用者所使用的shell:

usermod -s /bin/sh redhat

在這裡插入圖片描述
更改家目錄指向,但實際指向還是原來的:
usermod -d /home/lee redhat
在這裡插入圖片描述
更改家目錄指向和實際指向:

usermod -md /home/hahaha redhat

注意:-md順序不能改變
在這裡插入圖片描述
設定使用者密碼:

  passwd nihao##設定兩次,不回顯

在這裡插入圖片描述
reboot重啟虛擬機器即可看見新使用者:
在這裡插入圖片描述

鎖定nihao使用者:

usermod -L nihao

在這裡插入圖片描述
reboot後重新登陸發現nihao使用者消失
在這裡插入圖片描述

解鎖使用者nihao的操作:

usermod -U nihao

在這裡插入圖片描述
再次reboot重啟虛擬機器就可重新看見nihao使用者出現
在這裡插入圖片描述

6.使用者認證資訊

/etc/shadows #記錄使用者認證資訊此檔案一共有九列
在這裡插入圖片描述
例如:westos:!! : 17091 : 0 : 99999 : 7 : : :

【1】:【2】:【3】:【4】:【5】:【6】:【7】:【8】:【9】
專案 含義
【1】 使用者名稱稱
【2】 使用者密碼(使用者加密字串,預設為sha512對稱加密,如果加密字串前出現“!”,則表示使用者被凍結,)
【3】 密碼最後一次被更改的時間(此時間從1970年1月1開始計算累計)
【4】 密碼最短有效期(如果此位有設定數字,那麼在此數字範圍天數不得修改密碼)
【5】 :密碼最長有效期(使用者必須在此有效期內更新密碼,若超時則被凍結):
【6】 密碼警告期限(在過期前指定天數內傳送資訊給使用者)
【7】 非活躍天數(寬限登陸期限,此為預設為空,若有數值則在使用者密碼最長有效期過後仍然可以使用的天數)
【8】 帳號到期日(不可重新整理,直接凍結,為空則永遠不會到期)
【9】 使用者自定義,目前沒有啟用

認證資訊都在/ect/login中

passwd -S redhat  # 檢視redhat使用者密碼資訊

在這裡插入圖片描述

passwd -d redhat  #刪除密碼

在這裡插入圖片描述

使用者密碼管理:
以使用者redhat為例

命令 含義
passwd redhat 更改普通使用者redhat密碼
passwd -l redhat 在使用者密碼前加入“!!”,鎖住帳號
passwd -u redhat 解鎖“!!”
usermod -L redhat 在使用者密碼前加入“!”,鎖住帳號
usermod -U redhat 解鎖帳號“!”

更改普通使用者密碼:
在這裡插入圖片描述
在使用者密碼前加入“!!”,鎖住帳號:
在這裡插入圖片描述
passwd -u westos #解鎖“!!”:
在這裡插入圖片描述

在使用者密碼前加入“!”,鎖住帳號:
在這裡插入圖片描述
解鎖帳號“!”:
在這裡插入圖片描述

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

使用者密碼最後一次被更改時間:
以nihao使用者為例

命令 含義
passwd -e nihao 會改變使用者最後一次,只能改為0,改後強制使用者改密碼
chage -d 0 nihao 兩個功能相似

在這裡插入圖片描述
在這裡插入圖片描述
使用者密碼最長有效期:
以nihao使用者為例

命令 含義
passwd -x 30 nihao 設定在30天內必須修改密碼
chage -M 40 nihao 兩個功能相似

在這裡插入圖片描述
使用者密碼最短有效期:
以nihao使用者為例

命令 含義
passwd -n 2 nihao nihao使用者在2天之內不能修改密碼
chage -m 2 nihao 兩個功能相似

在這裡插入圖片描述
密碼警告期限:
以nihao使用者為例

命令 含義
passwd -w 2 nihao 密碼過期前兩天有警告輸出
chage -W 2 nihao 兩個功能相似

使用者非活躍天數:
以nihao使用者為例

命令 含義
passwd -i 1 nihao 密碼過期後任然可登陸的天數
chage -I 1 nihao 兩個功能相似

在這裡插入圖片描述

使用者到期日:
以nihao使用者為例

命令 含義
chage -E 2019-01-05 nihao nihao使用者在2019-01-05日被凍結

在這裡插入圖片描述
使用者自定義列,目前沒有啟動

7.使用者授權

在使用者授權之前先要清楚自己的主機名:

hostname #檢視自己主機名
權力下放檔案 用法
/etc/sudoers 此檔案可以用vim直接編輯,但是不提供語法檢測。也可以使用visudo編輯此檔案,visudo命令是提供語法檢測的
權力下放方式 用法
visudo 使用者 主機名稱=(得到使用者身份) 命令(程式碼寫在100行左右,規範書寫要寫註釋)

例如給nihao使用者下方root的useradd權力

nihao   localhost=(root)   /usr/sbin/useradd   #nihao使用者可以在localhost主機以root身份執行useradd命令

在這裡插入圖片描述
必須要切換到nihao使用者並使用sudo useradd lalala否則將會不被允許
在這裡插入圖片描述
若是既不想輸入密碼又想新增使用者則需要在sudo中新增以下程式碼

nihao    localhost=(root)   NOPASSWD: /usr/sbin/useradd    #nihao使用者可以在localhost主機以root身份免密執行useradd命令