从2个命令简单聊聊CentOS账户锁定原理

linux中 passwd -l 和usermod -L有什么区别,各自的解锁和锁定原理是什么样的呢?

实验环境

#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.

分别登录测试,正常。

spacer.gif26f355e5b1c941483453a951476d7a69.png-wh_

spacer.gifb86c4fed34224821e848a54fcec84195.png-wh_

查看user1和user2在/etc/shadow下的密码栏位,均显示正常。

spacer.gif1e9c675ce98358b1ae2c27dc385a4862.png-wh_

将最后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个字节,

spacer.gif6b7140bf085108354c4cc6cf0234ec99.png-wh_

使用文本对比工具,发现左边的new1.txt在密码栏多出了2个!(叹号)

spacer.gif826712b3533383f766af8313723a003c.png-wh_

4.无法登陆

spacer.gifd9d394830e1d2625dfe7bb2b0640cbec.png-wh_

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个!(叹号)

spacer.gif36c2c7f102ebd0ddb96496eb274150b6.png-wh_

7.系统正常登录

a671e64920cbb90cb464772fede0334a.png-wh_

实验二

使用passwd -l 锁定与解锁user2

1.使用usermod锁定user2

#usermod -L user2

2.将变化后的数据导出以新文件new2.txt

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

3.对比,新文件增加了1个字节

spacer.gif5e5181feaef0d615a04a173ae4f048fc.png-wh_

使用文本对比工具,发现左边的new2.txt在密码栏多出了1个!(叹号)

spacer.gif3880529488420b2e8fd4e239b765cb6c.png-wh_

4.无法登陆

spacer.gif86e84e688a928af0d4eb8e89f732c293.png-wh_

5.使用usermod解锁user2

#usermod -U user2

6.将变化后的数据导出以新文件renew2.txt

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

左边为renew2.txt,比右边的new2.txt少了1个!(叹号)

spacer.gif36ee1ca57847c87bfcbba3443e37a0de.png-wh_

7.系统正常登录

spacer.gif16b7510947cc1dc26e9e5c6255f461d3.png-wh_

实验三

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

1.使用passwd锁定user1

#passwd -l user1

2.无法登录

02ffecc0724d0300446037b35118ef12.png-wh_spacer.gif

3.使用usermod解锁user1

#usermod -U user1

4..将变化后的数据导出以新文件pL2mU.txt

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

5.对比,新文件减少了2个字节

555bc87700ce8ace10c6b2555a8eb4bf.png-wh_spacer.gif

使用文本对比工具,发现左边的pL2mU.txt在密码栏减少了2个!(叹号)

spacer.gifecf757aabd42a510f391bcde3f4eac49.png-wh_

6.系统正常登录

spacer.gif8816e60bc4c16cfdd4b7a5cf7174deb5.png-wh_

实验四

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

1.使用usermod锁定user2

#usermod -L user2

2.无法登录

spacer.gif2f4a4f1998eaa3bad29331454cc4b959.png-wh_

3.因为部分对比上面的实验中已经有数据了,这里就不再重复对比了。

会在密码栏减少了2个!(叹号)

4.使用passwd解锁user2

#passwd -u user2

Unlocking password for user user2.

passwd: Success

5.正常登录

spacer.gif7d06ea62f63222d03162be14454cc460.png-wh_

总结:

passwd -l与usermod -L没有什么区别,作用都是让用户账户密码暂时失效(也就是锁定)。

锁定的原理就是在/etc/shadow第二栏(代表用户密码)最前面加上2个叹号(!),让密码暂时失效。

因为linux帐户的密码是经过特殊加密的,每一种加密方式产生的密码长度和格式是相同的,加上叹号使之暂时失效。

使用相应的passwd -u 或usermod -U进行解锁

较旧的版本,usermod -L 一次只能去除一个!(叹号)。在新版本已经修正此不规范了。

谢谢阅读。

本文出自 “金色之谜” 博客,请务必保留此出处http://191226139.blog.51cto.com/211244/1982625

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88465

(0)
金色之谜金色之谜
上一篇 2017-11-16 19:22
下一篇 2017-11-17 09:46

相关推荐

  • Python函数式编程指南(四):生成器

    生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。 这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯…… 转载请注明原作者和原文地址:) 4. 生成器(generator) 4.1. 生成器简介 首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代…

    Linux干货 2015-03-11
  • shell脚本编写-3

    1、for循环 for 变量名 in  列表;do 循环体 done 执行机制:依次将列表中元素赋值给“变量名”;每次赋值后即执一次循环体;直到列表中元素耗尽循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a){start..end} (b) $(seq [start [step]] end)  (3) 返回列表的命…

    Linux干货 2016-08-18
  • N26第一周博客作业

    1.       计算机的组成及其功能 计算机由以下5部分组成: 控制器:控制器是计算机的中枢神经,功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各个部分工作及内存与外存的访问等。 运算器:运算器功能主要是对数据进行各种算术和逻辑运算,即对数据进行加工处理。…

    Linux干货 2016-12-28
  • httpd-2.4 功能生动实现 (Blog 13)

    CentOS 7 与 CentOS 6 访问控制区别、虚拟主机

    2017-12-01
  • Shell脚本使用示例

    目录如下:  1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.s…

    Linux干货 2016-08-30
  • sed,vim练习

    1 、删除/etc/grub2.cfg 文件中所有以空白开头的行行首的 空白字符 [root@localhost ~]# sed -r 's@^[[:space:]]+@@' /etc/grub2.cfg 2 、删除/etc/fstab 文件中所有以#开头,后面至少跟一个空白字符的行的行首…

    Linux干货 2016-08-10