Date: Wed, 21 Aug 2019 15:55:53 -0600 From: Alan Somers <asomers@freebsd.org> To: FreeBSD <freebsd-stable@freebsd.org> Subject: chsh corrupts /etc/pwd.db Message-ID: <CAOtMX2gTTerT5q3Ooku%2BwMOg_tZysFCBeHeBPkH_49aJFBu47A@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Today I tried to use chsh to change my shell from bash to fish. The command completed successfully, but new logins continued to use bash! Investigating, I discovered that /etc/pwd.db and /etc/spwd.db seem to contain 3-4 entries per user. One of those still refers to my old shell. Worse, if I try using chsh again, it fails with an "entry inconsistent" error, and I have to restore the password files from backup. Has anybody seen something like this before? This is just a single system, with no NIS or LDAP. -Alan $ xxd /etc/pwd.db ... 00003bf0: e800 0003 e800 0000 0000 416c 616e 2053 ..........Alan S 00003c00: 6f6d 6572 7300 2f68 6f6d 652f 736f 6d65 omers./home/some 00003c10: 7273 002f 7573 722f 6c6f 6361 6c2f 6269 rs./usr/local/bi 00003c20: 6e2f 6669 7368 0000 0000 0000 0003 df41 n/fish.........A ... 00005c80: 0041 6c61 6e20 536f 6d65 7273 002f 686f .Alan Somers./ho 00005c90: 6d65 2f73 6f6d 6572 7300 2f75 7372 2f6c me/somers./usr/l 00005ca0: 6f63 616c 2f62 696e 2f62 6173 6800 0000 ocal/bin/bash... ... 00006c20: 03e8 0000 03e8 0000 0000 0041 6c61 6e20 ...........Alan 00006c30: 536f 6d65 7273 002f 686f 6d65 2f73 6f6d Somers./home/som 00006c40: 6572 7300 2f75 7372 2f6c 6f63 616c 2f62 ers./usr/local/b 00006c50: 696e 2f66 6973 6800 0000 0000 0000 03df in/fish......... ... 00007b40: 0041 6c61 6e20 536f 6d65 7273 002f 686f .Alan Somers./ho 00007b50: 6d65 2f73 6f6d 6572 7300 2f75 7372 2f6c me/somers./usr/l 00007b60: 6f63 616c 2f62 696e 2f66 6973 6800 0000 ocal/bin/fish... $ chsh -s /usr/local/bin/fish Password: chsh: entry inconsistent chsh: pw_copy: Invalid argument
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2gTTerT5q3Ooku%2BwMOg_tZysFCBeHeBPkH_49aJFBu47A>