从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

相关推荐

  • 文本编辑器:vim 基础篇

       VI:Visual Interface,是一种文本编辑器,还是全屏编辑器。   VIM:Vi IMproved,vi的增强版,vim是模式化的编辑。 VIM的三种模式:        编辑模式(命令模式,默认模式)       插入模…

    Linux干货 2016-08-18
  • mysql-yum安装多实例

    1.安装包 yum install mariadb-server 2.创建文件 3 分别生成3306,3307,3308数库文件 4.复制主配置文件并分别修改端口路径 5.准备一个启动脚本并开启服务 /mysqldb/3307/mysqld start 6.用mysql -S 命令进入    

    2018-01-28
  • 编译安装apache

    编译安装apache可简单分为3步: 第一步:下载apache软件包解决依赖关系并生成Makefile 1.首先准备开发环境,可以通过yum安装开发包组:yum groupinstall Development Tools 2.准备apache软件包,可以通过http://httpd.apache.org下载到本地。随后解包tar -xf httpd-2.4…

    Linux干货 2017-12-03
  • 计算机的组成及其功能

    <p> Debian     基于Debian二次开发的:Ubuntu RedHat 不同的发行版都是基于linux内核进行二次开发而来。 查看内核版本命令: uname -r [root@localhost ~]# uname -r 3.10.0-327.18.2.el7.x86<em>64 查看发行版本命令: …

    Linux干货 2016-06-23
  • 起航——学习Linux工具之VMware Workstation

    一:安装VMware(Windows平台) 二:创建一台虚拟机 到此为止我们就创建了一个拥有一颗CPU、1GB内存和一块20GB硬盘的虚拟机,接下来就可以愉快的安装操作系统了 ^_^  

    2018-03-26
  • 曲径通幽处,禅房花木深—-bash禅意脚本

    编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 数据存储:变量、数组 表达式: a + b 语句:if shell脚本基础 s…

    Linux干货 2016-08-12