Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法

今早忽然想修改一下一个普通用户的密码,root登录进去之后键入修改密码命令之后发现提示“passwd: 鉴定令牌操作错误”。

[root@Geeklp-Administrator ~]# passwd Geeklp
更改用户 Geeklp 的密码 。
新的 密码:
无效的密码: 密码少于 7 个字符
重新输入新的 密码:
passwd: 鉴定令牌操作错误

检查了/etc/passwd的隐藏属性,也没发现什么异常。忽然想起来上周我在实验的时候键入过pwunconv命令,可能是这个命令引起的问题,于是重新键入pwconv命令,再次执行修改密码,操作成功! 操作之前的/etc/passwd目录:

[root@Geeklp-Administrator ~]# cat /etc/passwd
root:$6$W2B2u9mW/343Cwol$o8uxim3sGBVwPP//ktUv0TpZI4spD6nDlka/.8g9r99LidrhgTUiG8f3T/S71ZFlWZ4CbxRL2MOJZeh94Nf4R/:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:/sbin/nologin
daemon:*:2:2:daemon:/sbin:/sbin/nologin
adm:*:3:4:adm:/var/adm:/sbin/nologin
lp:*:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:/sbin/nologin
operator:*:11:0:operator:/root:/sbin/nologin
games:*:12:100:games:/usr/games:/sbin/nologin
ftp:*:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:*:99:99:Nobody:/:/sbin/nologin
systemd-network:!!:192:192:systemd Network Management:/:/sbin/nologin
dbus:!!:81:81:System message bus:/:/sbin/nologin
polkitd:!!:999:997:User for polkitd:/:/sbin/nologin
postfix:!!:89:89::/var/spool/postfix:/sbin/nologin
chrony:!!:998:996::/var/lib/chrony:/sbin/nologin
sshd:!!:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
Geeklp:$6$WkX08HPX$L/FdYUT5cNaTTP9AJOWz5rSVKqwS3cSVOg6HXWOR2blkLCA9Vbd.raEdSR4ErgC2pcIHPA1HGj.5kj49k.aCs/:1000:1000::/home/Geeklp:/bin/bash

操作之后的/etc/passwd目录:

[root@Geeklp-Administrator ~]# pwconv 
[root@Geeklp-Administrator ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
Geeklp:x:1000:1000::/home/Geeklp:/bin/bash

初步观察,我们会发现在密码那里有明显的不同,这是由于使用了pwunconv及pwconv的缘故。 pwconv命令用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符,有效的强化了系统的安全性。 pwunconv命令与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。这种方式降低了系统的安全性,任何人都可以读passwd的内容,而shadow文件只有root用户才有读写权限。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

通过浏览器缓存来bypass nonce script CSP

最近看了去年google团队写的文章CSP Is Dead, Long Live CSP!,对csp有了新的认识,在文章中,google团队提出了nonce...

280100
来自专栏上善若水

022-github 从fork的原代码更新repo

玩过github的人一定会在你自己的账号上fork了一些github开源项目。这些开源项目往往更新比较活跃,你今天fork用到你自己的项目中去了,过几个星期这个...

14640
来自专栏龚军的专栏

Docker registry工作机制简介

Docker registry是存储docker image的仓库,本文通过对Docker registry的介绍,让大家更进一步了解Docker regist...

87600
来自专栏成猿之路

这是我用过的最好的Intellij插件

https://plugins.jetbrains.com/plugin/7495--ignore

22960
来自专栏北京马哥教育

自学Linux命令的四种方法

如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 一,每日提示 ? 学习Linux命令的一种渐进式方...

32590
来自专栏维C果糖

详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制

在我们用 IntelliJ IDEA 向 SVN 或者 Git 提交代码的时候,IntelliJ IDEA 提供了一个自动分析代码的功能,即Perform co...

28550
来自专栏后端技术探索

Nginx面试中最常见的18道题 抱佛脚必备

Nginx的并发能力在同类型网页服务器中的表现,相对而言是比较好的,因此受到了很多企业的青睐,我国使用Nginx网站的知名用户包括腾讯、淘宝、百度、京东、新浪、...

31930
来自专栏Java工程师日常干货

深入浅出Nginx前言反向代理服务器?Nginx的Master-Worker模式我们的主战场:nginx.conf

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

16130
来自专栏个人分享

项目中Zookeeper配置参数笔记

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个prop...

14530
来自专栏Java技术栈

Java 程序员必备的 Intellij IDEA 插件

支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便

40530

扫码关注云+社区

领取腾讯云代金券