1. 程式人生 > >linux使用者(2)

linux使用者(2)

linux使用者(2)

在linux使用者(1)中已經說過了如何檢視使用者資訊,怎樣切換使用者,以及使用者的建立刪除。linux使用者(2)中我們將會講到怎樣去修改使用者的資訊以及超級管理員如何去下放權力!
簡單回顧linux使用者(1)中的要點:
詳情請看linux使用者(1)
1.

whoami   ##檢視當前的使用者
系統中使用者的檢視
	id		##檢視指定使用者的id
		-u	##檢視使用者的uid
		-g	##檢視使用者的gid
		-G	##檢視使用者的所有組的id
		-n      ##顯示名字而不是數字
		-nG	##檢視使用者的所有組的名字
su - username        ##切換使用者
useradd		username 	##建立使用者
userdel -r student	##刪除使用者並刪除使用者的配置檔案
groupadd   組名		##建立使用者組
groupdel   組名		##刪除使用者組

進入今天內容:

一、修改使用者資訊
1.usermod
相當於useradd -u -g…usermod更為簡單易操作。
1)改使用者名稱字

usermod -l 新名字 舊名字   

例:
可以看命令啟動前使用者名稱為hehe
在這裡插入圖片描述

命令啟動後用戶名為redhat
在這裡插入圖片描述

2)改使用者uid

usermod -u number  使用者名稱    ##number為你將要賦予的新uid

例:
可以看命令啟動前使用者redhat的uid為1002

在這裡插入圖片描述
命令啟動後用戶redhat的uid變為666
在這裡插入圖片描述
3) 改使用者的初始組

usermod -g number  使用者名稱    ##number為你將要賦予的新gid

例:
可以看命令啟動前使用者redhat的gid為1002
在這裡插入圖片描述
命令啟動後用戶redhat的gid變為1001
在這裡插入圖片描述
4)附加組

usermod -G number  使用者名稱        ##改使用者的附加組  ,
usermod -aG number 使用者名稱        ##新增使用者的附加組
usermod -G ""    使用者名稱        ##刪除使用者的所有附加組

5)指定使用者說明文字

usermod -c "說明文字" 使用者名稱

例:
命令啟動前沒有說明:
在這裡插入圖片描述
命令啟動後:
在這裡插入圖片描述
6)更改使用者家目錄

usermod -md /home/aaa  使用者名稱    ##/home/aaa為更改使用者的家目錄
usermod -d /home/aaa  使用者名稱     ##/home/aaa為更改的使用者家目錄指向

例:
命令啟動前:
在這裡插入圖片描述
命令啟動後:
在這裡插入圖片描述
7)更改使用者的shell

usermod -s shell名 使用者名稱

用 cat /etc/shells檢視系統有什麼型別的shell
例:
這是系統擁有的shell
在這裡插入圖片描述
更改shell前
在這裡插入圖片描述
更改後
在這裡插入圖片描述
8)凍結使用者

usermod -L 使用者名稱    ##在密碼前加”!“
passwd -l 使用者名稱     ##在密碼前加”!!“

9)解鎖使用者

usermod -U 使用者名稱 ##解鎖使用者,消減!(密碼不為空時使用)
passwd -u 使用者名稱  ##解鎖使用者,消減!!

二、使用者密碼
1.監控

watch -n 1 tail -n 3 /etc/shadow 監控使用者資訊(超級使用者)

在這裡插入圖片描述
2.監控資訊的含義

hahaha:!!:17896:0:99999:7 :  :  :
[1]   [2]  [3] [4] [5] [6][7][8][9]

[1]使用者名稱稱
hahaha

[2]使用者密碼
!!(使用者的加密字串,預設用的加密方式為sha512對稱加密,如果加密字串前出現!,那麼使用者被凍結)

[3]使用者密碼最後一次被修改的時間
17896(此時間計算是從1970-1-1開始計算的累計天數)

[4]使用者密碼最短有效期(在此間不得改密碼)
0(如果此位有設定數字,那麼在此數字範圍的天數內不能修改使用者密碼)

[5]使用者密碼最長有效期
99999(使用者必須在此有效期內更新密碼,否則超時會被凍結)

[6]密碼警告期限
7(在密碼過期前的制定天數內,會發送警告資訊給使用者)

[7]使用者非活躍天數
此位預設為空,如果設定數值x,那麼在密碼最長有效期後x天內,仍能使用

[8]使用者到期日
預設為空,表示使用者一定會被凍結的時間點

[9]使用者自定義列,目前沒有啟用

3.檢視使用者的密碼資訊

passwd -S 使用者名稱稱

在這裡插入圖片描述
4.使用者密碼的修改

1.passwd 使用者名稱     ##改密碼
2.passwd -l 使用者名稱  ##在密碼前加”!!“,凍結使用者
3.passwd -u 使用者名稱  ##解鎖使用者,消減!!
4.usermod -L 使用者名稱 ##在密碼前加”!“,凍結使用者
5.usermod -U 使用者名稱 ##解鎖使用者,消減!(密碼不為空時使用)
6.passwd -d  使用者名稱 ##清空密碼

請讀者按以下步驟體會其中的變化:
在這裡插入圖片描述
注:
普通使用者改密碼時:
1)必須知道當前永久原始密碼
2)密碼不能和帳號名稱相似
3)密碼不能是純數字或純字母
4)密碼不能是有序的字母和數字組合

5、更改 使用者密碼最後一次被修改的時間

passwd -e 使用者名稱      ##改變使用者最後一次更改密碼的時間為0,此時使用者在登陸時會被強制更改密碼
chage -d 100 使用者名稱          ##改變使用者最後一次更改密碼的時間為100
chage -d 2019-01-01 使用者名稱   ##改變使用者最後一次更改密碼的時間為2019-01-01號

6、更改 使用者密碼最短有效期(在此間不得改密碼)

passwd -n number  使用者名稱    ##使用者在number天內不能修改密碼
chage -m number  使用者名稱      ##使用者在number天內不能修改密碼

7、更改 使用者密碼最長有效期

passwd -x 30 使用者名稱    ##設定使用者在30(可變)天內必須改密碼
chage -M 30 使用者名稱

8、更改 密碼警告期限

passwd -w 2 使用者名稱     ##密碼過期前兩(可改)天有警告提醒
chage -W 2 使用者名稱  

9、使用者非活躍天數

passwd -i 1 使用者名稱    ##密碼過期後還能用1(可改)天
chage -I 1 使用者名稱

9、使用者到期日

chage -E 2019-01-01 使用者名稱     ##使用者在2019-01-01日會被凍結

三、權力下放
1、/etc/sudoers 權力下放檔案
vim可直接編輯,但是儲存時沒有語法檢測,無法保證修改內容的語法正確性,不建議此法!
輸入命令visudo,可編輯此檔案,提供語法檢測,強力推薦!

操作步驟:
1.輸入visudo,進入/etc/sudoers檔案
2.權力下放在100行左右(在vim裡,輸入:set nu可顯示行標;輸入:100可跳轉到100行)
3.輸入下放的權力
   格式:使用者       主機名稱=(得到的使用者身份) 命令
例:    tom        localhost=(root)      /usr/sbin/useradd         ##tom使用者可以在localhost主機
                                                                  ##以root使用者身份執行useradd命令
       tom        localhost=(root)  NOPASSWD: /usr/sbin/useradd   ##tom使用者可以在localhost主機
                                                                  ##以root使用者身份執行useradd命令
4.測試
1)切換到指定使用者  su - tom
2)用sudo執行賦予的權力  sudo useradd student