公司内部有台记录客户信息的小系统,搭建在Linux平台,平时一切都很正常,公司搞程序开发的需要修改内容了就通过ftp上去直接修改文件,但是今天通过ftp就是无法登陆上去,ftp是用proftpd搭建的,开始还以为是proftpd配置出了问题,但是经检查一点问题都没有,再接着修改密码,可是改密码的时候提示一个以前没见过的信息:passwd: User not known to the underlying authentication module
在网上查了N久资料也没搞清楚,之后看到有说pwck,pwconv命令可以解决。
pwck 的作用就是检查 /etc/passwd 这个帐号设定档内的内容,与实际的家目录是否存在等, 还可以比对 /etc/passwd /etc/shadow 的内容是否一致,另外, 如果 /etc/passwd 内的资料栏位错误时,会提示使用者修订。
# pwck
用户 adm:目录 /var/adm 不存在
用户 news:目录 /etc/news 不存在
用户 uucp:目录 /var/spool/uucp 不存在
用户 gopher:目录 /var/gopher 不存在
用户 pcap:目录 /var/arpwatch 不存在
用户 sabayon:目录 /home/sabayon 不存在
无效的用户名“#tom”
pwck:无改变
上面仅是告知我,这些帐号并没有家目录,由于那些帐号绝大部分都是系统帐号, 确实也不需要家目录的,所以,那是‘正常的错误!’,相对应的群组检查可以使用 grpck 这个指令。
pwck 确保系统鉴认信息的完整性,pwck 对每一项的以下域进行检查:
-是否有唯一的用户名
-是否有合法的用户ID和组ID
-是否有合法的主组-是否有合法的家目录
-是否有合法的壳(命令解释器,如bash)
对于每一项的域数目和唯一用户名字的检查是至关重要的.如果某一项的域数目不正确,用户将被提示是否删除整行,如果用户没有肯定的回答,pwck将不再继续进行检查.如果有重复的用户名,用户将被提示是否删除该项,pwck将继续进行检查.其他的错误都只会警告用户,并且鼓励用户运行usermod命令去把错误改正.
一些对/etc/passwd文件进行操作的命令,如果无法对遭到破坏或者有重复项进行修改的话,pwck就要在这些情况下进行操作,把这些项删除.
# pwconv
这个指令主要的目的是在‘将/etc/passwd 内的帐号与密码,移动到/etc/shadow 当中!’ 早期的 Unix 系统当中并没有/etc/shadow ,所以,使用者的登入密码早期是在/etc/passwd 的第二栏,后来为了系统安全,才将密码资料移动到/etc/shadow 内的。 使用 pwconv 后,可以:
    * 比对/etc/passwd 及/etc/shadow ,若/etc/passwd 内存在的帐号并没有对应的/etc/shadow 密码时,则pwconv 会去/etc/login.defs 取用相关的密码资料,并建立该帐号的 /etc/shadow 资料;
    * 若/etc/passwd 内存在加密后的密码资料时,则pwconv 会将该密码栏移动到/etc/shadow 内,并将原本的/etc/passwd 内相对应的密码栏变成 x !
一般来说,如果正常使用useradd 增加使用者时,使用 pwconv 并不会有任何的动作,因为/etc/passwd 与/etc/shadow 并不会有上述两点问题啊! 不过,如果手动设定帐号,这个 pwconv 就很重要!
在执行前,密码文件中的内容如下:

执行之后的如下:
当再次修改密码时提示正确:
# passwd ftpadmin
Changing password for user ftpadmin.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.
通过FTP已经能够连上去。
顺便附上proftpd的配置,仅供参考:
本文转自 zhangzj1030 51CTO博客,原文链接:http://blog.51cto.com/tech110/284656

无法更改密码的解决办法--passwd: User not known相关推荐

  1. linux不能更改密码,Linux服务器无法更改密码的解决办法--passwd: User not known

    上面仅是告知我,这些帐号并没有家目录,由于那些帐号绝大部分都是系统帐号, 确实也不需要家目录的,所以,那是'正常的错误!',相对应的群组检查可以使用 grpck 这个指令. pwck 确保系统鉴认信息 ...

  2. linux ubuntu系统忘记root密码的解决办法

    ubuntu 忘记密码,忘记root密码的解决办法 开机选中高级选项 然后按enter键进入菜单选项. 选中 recovery mode这一行 按e键进行编辑. 找到关键的一行,更改参数,把ro re ...

  3. red hat linux忘记root密码,Red Hat Linux忘记root密码的解决办法

    Red Hat Linux忘记root密码的解决办法 Red Hat Linux忘记root密码的解决办法 1在出现系统选择界面时,在Red Hat Linux的选项上按"e"键, ...

  4. linux 登录 忘记密码,redhat linux忘记登陆密码之解决办法

    redhat linux忘记登陆密码之解决办法 很简单的一个技巧,给大家介绍一下 在这个界面 按任意键 按 e键(编辑命令之前启动) 选择第二项 在按e键(修改选定的命令在启动) 输入single ( ...

  5. linux centos密码忘记,CentOS忘记root密码的解决办法

    如果CentOS 忘记root密码了有木有解决办法呢,CentOS 忘记root密码了该如何解决?下面是学习啦小编收集整理的CentOS 忘记root密码的解决办法,希望对大家有帮助~~ CentOS ...

  6. Linux系统忘记密码的解决办法

    在日常开发或者学习过程当中,可能由于使用的Linux系统较多,或者由于做别的事情太久未使用亦或是记性不好忘记了设置的密码.那么这个时候,该怎么解决呢?一般会想到两个方法,第一是办法就是重装系统,简单粗 ...

  7. VMware忘记账号密码的解决办法

    VMware忘记账号密码的解决办法 解决步骤 重启系统,尚未完全开机按下任意键,进入选择界面 按e进入选择界面,选择第二项,按e 按空格,输入1,回车 按下b键 用passwd命令修改密码 图文解说 ...

  8. 台式机BIOS被加密后密码忘记解决办法

    台式机BIOS被加密后密码忘记解决办法 如下图所示,BIOS被加密 经过以下步骤可解锁密码 惠普电脑出厂前是没有对BIOS设置过密码的,也是没有通用的BIOS密码的.亲测此法可以,还有个扣电池的测试没 ...

  9. Mysql忘记用户密码的解决办法

    1.1 忘记用户密码的解决办法 普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢? 1.1.1 msyqld_saft方式找回密码 停止mysql:se ...

最新文章

  1. 360数科发布2020全年财报:全年收入上涨47.1%,科技为运营效率提供第一动力
  2. 大学毕业想要转行学软件测试,怎样入门比较好?
  3. java runnable main_Java 线程类问题写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法, * 用for循...
  4. python爬虫详细步骤-Python爬虫的两套解析方法和四种爬虫实现过程
  5. DirectShow基础编程 最简单的源Filter的编写步骤 (转)
  6. C#学习笔记-stream,win8.1开发小记
  7. CCNA--点对点协议(PPP)
  8. Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流
  9. oracle 练习 50_萨克斯练习中的常用技巧
  10. SpringMVC实现RESTful风格
  11. sublime text plugins
  12. java项目_值得学习和练手的Java企业级开源项目,强烈推荐!
  13. 程序员面试金典——1.8反转子串
  14. Python12/10--前端之display/overflow使用/清浮动的方式
  15. idea导入项目,配置,启动访问项目
  16. Nature指数全球城市科研排名:北京第一,上海第五,南京第八
  17. 了解uni-app只需这一篇就足够了
  18. 在vue里使用codemirror
  19. 笔记本gtx1650最好用驱动_各型号笔记本显卡定位
  20. 计算机键盘突然失灵,笔记本键盘突然用不了怎么办_笔记本键盘突然失灵怎么回事-win7之家...

热门文章

  1. python网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)...
  2. 原生Android之(6.0及以上)权限申请
  3. SQL Server 死锁的告警监控
  4. 简单的DPDK介绍与分析
  5. 火狐不支持event.keyCode,用jquery中的event.which轻松解决。
  6. 【cocos2d-x从c++到js】16:使用cocos2d-console工具转换脚本为字节码
  7. BZOJ1083: [SCOI2005]繁忙的都市
  8. 一次项目管理交流会总结
  9. SqlServer 中Binary类型的数据如何转化为字符串
  10. win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码