From owner-freebsd-bugs@FreeBSD.ORG Mon Apr 24 08:10:25 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 6F40716A56A for ; Mon, 24 Apr 2006 08:10:25 +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 129F643D58 for ; Mon, 24 Apr 2006 08:10: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 k3O8ALeR021006 for ; Mon, 24 Apr 2006 08:10:21 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k3O8ALIl021005; Mon, 24 Apr 2006 08:10:21 GMT (envelope-from gnats) Date: Mon, 24 Apr 2006 08:10:21 GMT Message-Id: <200604240810.k3O8ALIl021005@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Alex Kozlov 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: Alex Kozlov List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Apr 2006 08:10:25 -0000 The following reply was made to PR bin/96248; it has been noted by GNATS. From: Alex Kozlov To: Maxim Konovalov Cc: bug-followup@freebsd.org Subject: Re: bin/96248: vipw fail on RO /etc Date: Mon, 24 Apr 2006 11:07:54 +0300 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 ? -- Adios