1. 程式人生 > >從2個命令簡單聊聊CentOS賬戶鎖定原理

從2個命令簡單聊聊CentOS賬戶鎖定原理

passwd usermod centos賬戶鎖定

實驗環境

#uname -a

Linux a69.hunk.edu 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

#cat /etc/redhat-release

CentOS release 6.9 (Final)

passwd命令

-l, --lock lock the password for the named account (root only)

-u, --unlock unlock the password for the named account (root only)

usermod命令

-L, --lock lock the user account

-U, --unlock unlock the user account

創建用戶user1和user2

#useradd user1

#useradd user2

修改2個用戶的密碼

#echo 123456|passwd --stdin user1

Changing password for user user1.

passwd: all authentication tokens updated successfully.

#echo 123456|passwd --stdin user2

Changing password for user user2.

passwd: all authentication tokens updated successfully.

分別登錄測試,正常。

技術分享技術分享

技術分享技術分享

查看user1和user2在/etc/shadow下的密碼欄位,均顯示正常。

技術分享技術分享

將最後2欄導出到文件以便後續對比old1.txt

#tail -2 /etc/shadow > /app/old1.txt

實驗一

使用passwd -l 鎖定與解鎖user1

1.使用passwd鎖定user1

#passwd -l user1

Locking password for user user1.

passwd: Success

2.將變化後的數據導出以新文件new1.txt

#tail -2 /etc/shadow > new1.txt

3.對比,新文件增加了2個字節,

技術分享技術分享

使用文本對比工具,發現左邊的new1.txt在密碼欄多出了2個!(嘆號)

技術分享技術分享

4.無法登陸

技術分享技術分享

5.使用passwd解鎖user1

#passwd -u user1

Unlocking password for user user1.

passwd: Success

6.將變化後的數據導出以新文件renew.txt

#tail -2 /etc/shadow > renew.txt

左邊為renew.txt,比右邊的new1.txt少了2個!(嘆號)

技術分享技術分享

7.系統正常登錄

技術分享

實驗二

使用passwd -l 鎖定與解鎖user2

1.使用usermod鎖定user2

#usermod -L user2

2.將變化後的數據導出以新文件new2.txt

#tail -2 /etc/shadow > new2.txt

3.對比,新文件增加了1個字節

技術分享技術分享

使用文本對比工具,發現左邊的new2.txt在密碼欄多出了1個!(嘆號)

技術分享技術分享

4.無法登陸

技術分享技術分享

5.使用usermod解鎖user2

#usermod -U user2

6.將變化後的數據導出以新文件renew2.txt

#tail -2 /etc/shadow > renew2.txt

左邊為renew2.txt,比右邊的new2.txt少了1個!(嘆號)

技術分享技術分享

7.系統正常登錄

技術分享技術分享

實驗三

使用passwd 鎖定user1,再使用usermod 解鎖user1

1.使用passwd鎖定user1

#passwd -l user1

2.無法登錄

技術分享技術分享

3.使用usermod解鎖user1

#usermod -U user1

4..將變化後的數據導出以新文件pL2mU.txt

#tail -2 /etc/shadow > pL2mU.txt

5.對比,新文件減少了2個字節

技術分享技術分享

使用文本對比工具,發現左邊的pL2mU.txt在密碼欄減少了2個!(嘆號)

技術分享技術分享

6.系統正常登錄

技術分享技術分享

實驗四

使用usermod 鎖定user2,再使用passwd 解鎖user2

1.使用usermod鎖定user2

#usermod -L user2

2.無法登錄

技術分享技術分享

3.因為部分對比上面的實驗中已經有數據了,這裏就不再重復對比了。

會在密碼欄減少了2個!(嘆號)

4.使用passwd解鎖user2

#passwd -u user2

Unlocking password for user user2.

passwd: Success

5.正常登錄

技術分享技術分享

總結:

passwd -l與usermod -L沒有什麽區別,作用都是讓用戶賬戶密碼暫時失效(也就是鎖定)。

鎖定的原理就是在/etc/shadow第二欄(代表用戶密碼)最前面加上2個嘆號(!),讓密碼暫時失效。

因為linux帳戶的密碼是經過特殊加密的,每一種加密方式產生的密碼長度和格式是相同的,加上嘆號使之暫時失效。

使用相應的passwd -u 或usermod -U進行解鎖

較舊的版本,usermod -L 一次只能去除一個!(嘆號)。在新版本已經修正此不規範了。

謝謝閱讀。


本文出自 “金色之謎” 博客,請務必保留此出處http://191226139.blog.51cto.com/211244/1982625

從2個命令簡單聊聊CentOS賬戶鎖定原理