From owner-FreeBSD-users-jp@jp.FreeBSD.org Sun Feb 10 01:30:29 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g19GUTZ62539;
	Sun, 10 Feb 2002 01:30:29 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from pelsia.netmove.co.jp (pelsia.netmove.co.jp [202.241.207.159])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g19GUS662532
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sun, 10 Feb 2002 01:30:28 +0900 (JST)
	(envelope-from shige@netmove.co.jp)
Received: (from nork@localhost)
	by pelsia.netmove.co.jp (8.11.6/8.11.6) id g19GU8720971;
	Sun, 10 Feb 2002 01:30:08 +0900 (JST)
	(envelope-from nork)
From: nork@cityfujisawa.ne.jp (Norikatsu Shigemura)
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: Your message of "Sat, 9 Feb 2002 22:33:42 +0900".
	<020209223342.M0118167@pelsia.netmove.co.jp>
X-Mailer: mnews [version 1.22PL5] 2001-02/07(Wed)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Date: Sun, 10 Feb 2002 01:30:08 +0900
Message-ID: <020210013008.M0120862@pelsia.netmove.co.jp>
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: FreeBSD-users-jp 66848
Subject: [FreeBSD-users-jp 66848] Re: chflags in jail
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: nork@cityfujisawa.ne.jp

$B=EB<K!9n$G$9!#(B

2002/02/09 22:33 $B$K;d$O=q$-$^$7$?(B.
>> -	    ((error = suser_xxx(p->p_ucred, p, PRISON_ROOT)) != 0))
>> +	    ((error = suser_xxx(p->p_ucred, p, jail_chflags_allowed ? 0 : PRISON_ROOT)) != 0))

	$B$&$&CQ$:$+$7$$!#!#!#A4A30c$&$H$38+$F$^$7$?!#(Bsuser_xxx $B$N(B flag
	($BBh;00z?t(B)$B$,(B PRISON_ROOT $B$G$"$l$P(B jail $BE*$K(B OK $B$H$$$&0UL#$G$7(B
	$B$?!#$3$l$,(B 0 $B$K$J$C$F$k>l9g$O(B jail $B4D6-2<$G;H$($J$$$H!#(B

	$B$G(B, UFS $B$^$GDI$C$+$1$F9T$C$?$i(B, sys/ufs/ufs/ufs_vnops.c $B$N(B
	ufs_setattr $B4X?tCf$G(B,
                if ((cred->cr_uid == 0) && (p->p_prison == NULL)) {
                        if ((ip->i_flags
                            & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) &&
                            securelevel > 0)
                                return (EPERM);
                        ip->i_flags = vap->va_flags;
                } else {
                        if (ip->i_flags
                            & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) ||
                            (vap->va_flags & UF_SETTABLE) != vap->va_flags)
                                return (EPERM);
                        ip->i_flags &= SF_SETTABLE;
                        ip->i_flags |= (vap->va_flags & UF_SETTABLE);
                }
	$B$H$"$j$^$7$?!#(Bjail $B4D6-2<$H$=$&$G$J$$>l9g$H$G5sF0$,JQ$($F$"$j(B
	$B$^$9!#7k9=$JJQ99$K$J$j$=$&$J$N$G:#2s$3$l$O$"$-$i$a$^$9!D!#(B
