从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

相关推荐

  • linux的内建命令和外部命令

    摘要:    Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但是其工作机制相差很大。本文就内建命令和外部命令做一下介绍。 一、内部命令(内建命令)    内部命令,实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shel…

    Linux干货 2016-10-18
  • 管理systemd

    管理systemd init(系统的第一个进程): CentOS 5: SysV initCentOS 6: UpstartCentOS 7: Systemd Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 Systemd新特性: 系统引导时实现服务并行启动 按需启动守护进程 系统状态快照 自动化的…

    Linux干货 2016-09-22
  • 探索处理文本工具“sed”的相关奥妙

    一:sed工具 1,set的介绍:sed是一种流编辑器,它一次处理一行内容。处理时,把当前 处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断…

    2017-08-26
  • shell脚本编程之变量详解

    什么是变量     变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 变量:变量类型 作用:  &…

    Linux干货 2016-08-15
  • 第四周练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 # cp -a /etc/skel /home/tuser1 # chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop #vim /etc/group #hadoop:x:5…

    Linux干货 2017-10-21
  • 马哥教育网络班21期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录及文件命令 pwd:打印当前工作路径(绝对路径),并且有相应的环境变量PWD表示。 cd:切换目录 ~用户家目录 ..当前目录的父目录 .当前目录 -上次所在的目录。 ls:查看目录下内容,常用选项 -a 列出目录下所有文件和目录;-d 只显示目录本身属性信息;-h 文件大小单…

    Linux干货 2016-07-17