From owner-freebsd-stable@freebsd.org Wed Aug 21 21:56:07 2019 Return-Path: Delivered-To: freebsd-stable@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8D5D7D5466 for ; Wed, 21 Aug 2019 21:56:07 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46DM1L4Nkpz4bn0 for ; Wed, 21 Aug 2019 21:56:06 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf1-f41.google.com with SMTP id v16so2917123lfg.11 for ; Wed, 21 Aug 2019 14:56:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ixI7b/rJIA7gx4b23SAJJLo3mFXuC0rrjP69PKGeDbc=; b=keW7xpgk4Q5s+5hf9iZEfxxX2yoat59p4Hz4gFrFAmmuXGsFYRki0x02qC/YQPXOLx tOPQex7lpKgvvRwxNwGqrNePYXloXUY4SkSiJHCxXoHzrVNdPw/X93RO9dWk+frGDXAr 5/GqTgAwLLzrDgmY0NHbFnh6E3wRMtYpgFZD1KhO4UDbeq2AVzbn/jmuiBKNsW3AIRxm B4nKOMMlSyBbyjOFEjCRE1rHlGu8+kPqmWwvYeHaIi2ZZF+9hstOU+C9apTzN9CVfrus kuPmD1cifphlOnztLAgp03B6PYf2iL4iXKBddQnzlf2q/tTX8U9RUDr3l6dFhH/13Ewq f2Lg== X-Gm-Message-State: APjAAAUHTrwdeIbKnhDUxfkSh5Z4VNE7mRnvL1GQF4lsKGFp9q4Z5mC5 cRRYKq5/TTk9FemJqyf5B88mNZIN7zRRPTtAXPpLmiL+fmw= X-Google-Smtp-Source: APXvYqwsCYlOEGWAVadrytbfsv1VVh1PVbTIK/Zht4mQ0jyNIlyluEeILhgIIIx7USoi6qrem4zSlWGmkXQqoA3C0/M= X-Received: by 2002:a19:5d53:: with SMTP id p19mr19399691lfj.109.1566424564510; Wed, 21 Aug 2019 14:56:04 -0700 (PDT) MIME-Version: 1.0 From: Alan Somers Date: Wed, 21 Aug 2019 15:55:53 -0600 Message-ID: Subject: chsh corrupts /etc/pwd.db To: FreeBSD Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 46DM1L4Nkpz4bn0 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-4.24 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-stable@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-1.00)[-0.996,0]; RCVD_IN_DNSWL_NONE(0.00)[41.167.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-1.25)[ip: (-0.48), ipnet: 209.85.128.0/17(-3.35), asn: 15169(-2.35), country: US(-0.05)]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[41.167.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCVD_TLS_ALL(0.00)[]; TO_DOM_EQ_FROM_DOM(0.00)[] X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 21:56:07 -0000 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