From owner-freebsd-bugs@FreeBSD.ORG Mon Apr 24 08:30:22 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A97BA16A403 for ; Mon, 24 Apr 2006 08:30:22 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F03C43D49 for ; Mon, 24 Apr 2006 08:30:22 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k3O8UMYI021868 for ; Mon, 24 Apr 2006 08:30:22 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k3O8UMfI021866; Mon, 24 Apr 2006 08:30:22 GMT (envelope-from gnats) Date: Mon, 24 Apr 2006 08:30:22 GMT Message-Id: <200604240830.k3O8UMfI021866@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Maxim Konovalov Cc: Subject: Re: bin/96248: vipw fail on RO /etc X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim Konovalov List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Apr 2006 08:30:22 -0000 The following reply was made to PR bin/96248; it has been noted by GNATS. From: Maxim Konovalov To: Alex Kozlov Cc: bug-followup@freebsd.org Subject: Re: bin/96248: vipw fail on RO /etc Date: Mon, 24 Apr 2006 12:24:29 +0400 (MSD) On Mon, 24 Apr 2006, 11:07+0300, Alex Kozlov wrote: > On Mon, Apr 24, 2006 at 11:17:08AM +0400, Maxim Konovalov wrote: > > [...] > > > if rootfs mount as read-only, vipw fall to execute witch vipw: > > > pw_tmp(): Read-only file system error. > > > >How-To-Repeat: > > > #mount |grep -w / > > > /dev/da0s1 on / (ufs, local, read-only) > > > > > > #vipw > > > vipw: pw_tmp(): Read-only file system > > > >Fix: > > > Change temporary file patch in pw_tmp() from > > > > > > if (snprintf(tempname, sizeof(tempname), "%.*spw.XXXXXX", > > > (int)(p - masterpasswd), masterpasswd) >= (int)sizeof(tempname)) { > > > > > > to more appropriate? > > > > And what is more appropriate? > Quite good solution may be to add fallback mechanism in case if masterpasswd > directory not writable. > > There are any (security?) reasons, which to prevent the storing of > pw_tmp file in /tmp ? Perhaps they are, I don't know. I don't think changing passwd temp files location is a good idea. What is the problem you are trying to solve? -- Maxim Konovalov