Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754474AbdGNPWg (ORCPT ); Fri, 14 Jul 2017 11:22:36 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:57592 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754076AbdGNPWf (ORCPT ); Fri, 14 Jul 2017 11:22:35 -0400 Subject: Re: [PATCH v2] xattr: Enable security.capability in user namespaces To: "Serge E. Hallyn" References: <74664cc8-bc3e-75d6-5892-f8934404349f@linux.vnet.ibm.com> <20170713011554.xwmrgkzfwnibvgcu@thunk.org> <87y3rscz9j.fsf@xmission.com> <20170713164012.brj2flnkaaks2oci@thunk.org> <87k23cb6os.fsf@xmission.com> <847ccb2a-30c0-a94c-df6f-091c8901eaa0@linux.vnet.ibm.com> <87bmoo8bxb.fsf@xmission.com> <9a3010e5-ca2b-5e7a-656b-fcc14f7bec4e@linux.vnet.ibm.com> <87h8yf7szd.fsf@xmission.com> <65dbe654-0d99-03fa-c838-5a726b462826@linux.vnet.ibm.com> <20170714133437.GA16737@mail.hallyn.com> Cc: "Eric W. Biederman" , "Theodore Ts'o" , containers@lists.linux-foundation.org, lkp@01.org, linux-kernel@vger.kernel.org, zohar@linux.vnet.ibm.com, tycho@docker.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, christian.brauner@mailbox.org, amir73il@gmail.com, linux-security-module@vger.kernel.org, casey@schaufler-ca.com From: Stefan Berger Date: Fri, 14 Jul 2017 11:22:28 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20170714133437.GA16737@mail.hallyn.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 17071415-0016-0000-0000-0000072D23D6 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007365; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00887485; UDB=6.00443116; IPR=6.00667635; BA=6.00005471; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016226; XFM=3.00000015; UTC=2017-07-14 15:22:33 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17071415-0017-0000-0000-00003A94D427 Message-Id: <596f808b-e21d-8296-5fef-23c1ce7ab778@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-13_13:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707140244 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1605 Lines: 31 On 07/14/2017 09:34 AM, Serge E. Hallyn wrote: > Quoting Stefan Berger (stefanb@linux.vnet.ibm.com): >> On 07/13/2017 08:38 PM, Eric W. Biederman wrote: >>> Stefan Berger writes: >>> >>>> On 07/13/2017 01:49 PM, Eric W. Biederman wrote: >>>> >>>>> My big question right now is can you implement Ted's suggested >>>>> restriction. Only one security.foo or secuirty.foo@... attribute ? >>>> We need to raw-list the xattrs and do the check before writing them. I am fairly sure this can be done. >>>> >>>> So now you want to allow security.foo and one security.foo@uid=<> or just a single one security.foo(@[[:print:]]*)? >>>> >>> The latter. >> That case would prevent a container user from overriding the xattr >> on the host. Is that what we want? For limiting the number of xattrs > Not really. If the file is owned by a uid mapped into the container, > then the container root can chown the file which will clear the file > capability, after which he can set a new one. If the file is not > owned by a uid mapped into the container, then container root could > not set a filecap anyway. Let's say I installed a container where all files are signed and thus have security.ima. Now for some reason I want to re-sign some or all files inside that container. How would I do that ? Would I need to get rid of security.ima first, possibly by copying each file, deleting the original file, and renaming the copied file to the original name, or should I just be able to write out a new signature, thus creating security.ima@uid=1000 besides the security.ima ? Stefan