从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

相关推荐

  • nginx模块–proxy,upstream,header,stream

    ngx_http_proxy_module     proxy模块的作用:将请求传递给对应的服务器     示例:     location / {        &nb…

    Linux干货 2016-10-29
  • 8月11日shell编程脚本及课后作业

    shell脚本编程 本章内容 编程基础 脚本基础格式 变量 运算 条件测试 流程控制 函数 数组 高级字符串操作 高级变量 配置用户环境 编程基础 程序:指令+数据    程序编程风格:       过程式:以指令为中心,数据服务于指令   &nbs…

    Linux干货 2016-08-15
  • 十四.Linux博客-2016年8月22日数组

    格式说明: 操作 概念 命令 说明及举例 十四.数组 数组概念 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 声明数组declare -…

    Linux干货 2016-08-24
  • 关于磁盘管理的例子

    今天来说一个关于磁盘管理的例子,通过这个例子也顺便了解一下此例子涉及到的一些相关命令、文件。 练习:创建一个2G的文件系统,块大小为2048byte, 预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项 思路:1.在/etc/fstab中定义开机自动挂载信息    &nbs…

    Linux干货 2017-08-19
  • corosync + pacemaker + iscsi实现高可用mysql (下)

    上一篇讲的安装配置iscsi,本章介绍mariadb安装以及高可用的mysql具体实现 一、安装配置mariadb [root@SQL1 ~]# tar xf mariadb-5.5.36-linux-x86_64.tar.gz  -C /usr/local \\解压软件包 [r…

    Linux干货 2015-07-09
  • MySQL应用管理

    这篇文章主要讲述基本的SQL语句,以供新手参考使用,不过最好的办法还是查阅官方文档和help命令。 进入正题 什么是SQL?        SQL结构化查询语言,是关系型数据库查询和管理语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系型数据库系统。 SQL的分类 &nbsp…

    Linux干货 2015-09-23