密码文件被清空,幸好没有退出远程终端。

Linux 在默认情况下对/etc/passwd /etc/group /etc/shadow /etc/gshadow都进行了自动备份,拷贝后恢复即可。
 
没有找到关于备份这类文件的官方说明文档,谁知道请共享一下: hunt1574@foxmail.com ,多谢!
 
过程:
 
  
  1. [root@app1 ~]# ls -l /etc/passwd  
  2. -rw-r--r-- 1 root root 0 10-20 06:32 /etc/passwd  
  3.    
  4. [root@app1 ~]# cat /etc/passwd  
  5.    
  6. [root@app1 ~]# ls -l /etc/passwd*  
  7. -rw-r--r-- 1 root root 0    10-20 06:32 /etc/passwd  
  8. -rw------- 1 root root 1755 07-06 11:35 /etc/passwd-  
  9.    
  10. [root@app1 ~]# cat /etc/passwd-  
  11. root:x:0:0:root:/root:/bin/bash  
  12. bin:x:1:1:bin:/bin:/sbin/nologin  
  13. daemon:x:2:2:daemon:/sbin:/sbin/nologin  
  14. adm:x:3:4:adm:/var/adm:/sbin/nologin  
  15. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin  
  16. sync:x:5:0:sync:/sbin:/bin/sync  
  17. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown  
  18. halt:x:7:0:halt:/sbin:/sbin/halt  
  19. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin  
  20. news:x:9:13:news:/etc/news:  
  21. uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin  
  22. operator:x:11:0:operator:/root:/sbin/nologin  
  23. games:x:12:100:games:/usr/games:/sbin/nologin  
  24. gopher:x:13:30:gopher:/var/gopher:/sbin/nologin  
  25. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin  
  26. nobody:x:99:99:Nobody:/:/sbin/nologin  
  27. vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin  
  28. rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin  
  29. mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin  
  30. smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin  
  31. nscd:x:28:28:NSCD Daemon:/:/sbin/nologin  
  32. ntp:x:38:38::/etc/ntp:/sbin/nologin  
  33. oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin  
  34. pcap:x:77:77::/var/arpwatch:/sbin/nologin  
  35. dbus:x:81:81:System message bus:/:/sbin/nologin  
  36. avahi:x:70:70:Avahi daemon:/:/sbin/nologin  
  37. xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin  
  38. rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin  
  39. nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin  
  40. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin  
  41. haldaemon:x:68:68:HAL daemon:/:/sbin/nologin  
  42. gdm:x:42:42::/var/gdm:/sbin/nologin  
  43. avahi-autoipd:x:100:103:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin  
  44. sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin  
  45. oracle:x:500:500::/home/oracle:/bin/bash  
  46. admin:x:501:503::/home/admin:/bin/bash  
  47. svn:x:502:504::/home/svn:/bin/bash  
  48. ogg:x:503:500::/home/ogg:/bin/bash  
  49.    
  50. [root@app1 ~]# cat /etc/passwd- >>/etc/passwd  
  51.    
  52. 检测帐号有效性:  
  53. [root@app1 ~]# pwck  
  54. 无效的密码文件项  
  55. delete line ''? n  
  56. 用户 adm:目录 /var/adm 不存在  
  57. 用户 news:目录 /etc/news 不存在  
  58. 用户 uucp:目录 /var/spool/uucp 不存在  
  59. 用户 gopher:目录 /var/gopher 不存在  
  60. 用户 oprofile:目录 /home/oprofile 不存在  
  61. 用户 pcap:目录 /var/arpwatch 不存在  
  62. 用户 avahi-autoipd:目录 /var/lib/avahi-autoipd 不存在  
  63. 用户 sabayon:目录 /home/sabayon 不存在  
  64. 用户 ogg:目录 /home/ogg 不存在  
  65. pwck:无改变  
  66.    
  67. 此时我们需要关注的只有ogg用户,其他系统用户是没有家目录的  
  68. 因之前ogg用户已经删除掉,此时可以将ogg从passwd里清除掉。  
  69. 这个备份是按什么机制同步的不清楚,显然与系统的实际情况有出入。  
  70.    
  71. 同步shadow文件  
  72. [root@app1 ~]# pwconv 
 
  建议:
 
  
  1. 1、 维护使用普通用户操作,尽量避免直接登录ROOT  
  2. 2、 操作前备份  
  3. 3、 加上保护属性:chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow  
  4. 下次修改密码时先chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow  
  5. 改完后再chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow  
  6. 执行该命令后ROOT也无权限修改这几个文件  
Ubuntu丢失密码文件的解决办法:
 
  
  1. 由于你的过失,丢失象 /etc/passwd 这样的重要文件,是一件非常痛苦的事。
  2. Ubuntu 系统周期性的将他们备份到 /var/backups/。 
  3. 当你恢复这些文件的时候,你需要设置适当的权限。  
  4.    
  5. http://wiki.ubuntu.org.cn/UbuntuManual:Ubuntu_小技巧