[nfsv4] Re: Our different approaches to draft POSIX ACL support in NFSv4

Trond Myklebust <trondmy@hammerspace.com> Thu, 25 July 2024 02:08 UTC

Return-Path: <trondmy@hammerspace.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B777DC1D5C6E for <nfsv4@ietfa.amsl.com>; Wed, 24 Jul 2024 19:08:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hammerspace.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Hn_JjrskpKLx for <nfsv4@ietfa.amsl.com>; Wed, 24 Jul 2024 19:08:24 -0700 (PDT)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2103.outbound.protection.outlook.com [40.107.237.103]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86BC4C1CAF4E for <nfsv4@ietf.org>; Wed, 24 Jul 2024 19:08:24 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d7rASPYYloPPArhA+CcgvI4ZtvrMPGKU1gOm80nQeErfjVEm43FONTd1k/23QExsTrEm4/NnQe2QDFwQzMt7oBXr+QAwSPc3RUCMUWiJnuHULM32NbMrLeHYN4nGShI57ApdMQZjfuoiIl9qKAg+B3ivl0RwSCZ65Zdk9Cz27VjPVjwDcs7YLGklGlUZWFPUSyWJzkTiysYRCArKDltkFwVyuE4e49sqLNfsPZkgLI2XocivIBqb8qLkqCy8ziE/K3lodwu3PW+BFecJ0fXITAea7B87ajQDuxmdrWfXK5ZN9jQEtkmaqVC3k7aWKkjAgdoq1G+ZVoxEhCSEJJboqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wA0M8t2lYgsSxBA3jzMg5bT72TSlsaqu7CoWAZUZ9pI=; b=yrIyyTz/QPrlo8+msFc3FFEUYJIWTKaxT2T0FgKBP4YuurnKLKx/VvDp1db9ZCm1h1GJNBF3kxmaCSr2qz17lCYXiPxVcF0cUdzpHwxkvO1JKYxCBeuYZ64SseT/ZD280oZnYXnglouQS6EmsQapI7Rh9Nij8gGfn6CNqy9uxguXAGNrVbya0gTD4bFebtBQnGhnyjLoueOGz4E8uu8bbANGSau+R4p8FwAWBPrqJ3BMvQaynJwzv7ecyNwA582EdMByMjeJz6o/WY5q017/QqyyMJVkgOTN11FTuHyo5gG1g97926jjQyTyhbXBUNYEOsnVCReEa4Ebgquxb0L7tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wA0M8t2lYgsSxBA3jzMg5bT72TSlsaqu7CoWAZUZ9pI=; b=OMejae3JtXbaLJISEQKdG0Rj9g/kx5iUdzRfT6Lb+qloqM0n2pUgai8OnZE2DHz5cjaYmXqX/F15wf7iD9N4i4X1grfDgC9lVWOuTsJKePsvwUkHoTIeTtrvbZ5YigqyvskuSdygShMxJglZ1eKipzrmWblKulmwSOYIWFB8mP8=
Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by MW4PR13MB5602.namprd13.prod.outlook.com (2603:10b6:303:182::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.29; Thu, 25 Jul 2024 02:08:20 +0000
Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::67bb:bacd:2321:1ecb]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::67bb:bacd:2321:1ecb%6]) with mapi id 15.20.7784.017; Thu, 25 Jul 2024 02:08:19 +0000
From: Trond Myklebust <trondmy@hammerspace.com>
To: "rick.macklem@gmail.com" <rick.macklem@gmail.com>
Thread-Topic: [nfsv4] Our different approaches to draft POSIX ACL support in NFSv4
Thread-Index: AQHa3St+JWinfnK62Eqe8mjO5TbHNLIGok4AgAASYwA=
Date: Thu, 25 Jul 2024 02:08:19 +0000
Message-ID: <b2700e0bdc694aedaf7a49d878074220e8a28c09.camel@hammerspace.com>
References: <CADaq8jdvZ5pcFNN5zjuVHLTO30v9=2kYKzFdRxxbkTmHYZdTdA@mail.gmail.com> <CAM5tNy7Fw954gCzYHCTjRg7th_njSHhxznni48Zz4xsSXT631A@mail.gmail.com> <53DAEF45-2A4D-4066-97C2-7B09018DE99B@oracle.com> <CAM5tNy6a4ZG90i2ugXzuPqQ1zrsK9m8jLRKmv9VpnFG6m_Pqew@mail.gmail.com> <DD250FBD-A434-4294-818A-5728757CE032@oracle.com> <d1c538065728c17df66a6f9e79e55d90849fc866.camel@gmail.com> <D352FEB9-A487-4B3E-9BC8-DB2C1896F941@oracle.com> <8efc39289ecef97624622cfc431f890736b579a0.camel@hammerspace.com> <CAM5tNy7jeAvD8D4+aDJ1vF4HF8iYhkRoYukmaJ05Hxs0LOqCQA@mail.gmail.com>
In-Reply-To: <CAM5tNy7jeAvD8D4+aDJ1vF4HF8iYhkRoYukmaJ05Hxs0LOqCQA@mail.gmail.com>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hammerspace.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH0PR13MB5084:EE_|MW4PR13MB5602:EE_
x-ms-office365-filtering-correlation-id: 7c128497-b543-46a1-db16-08dcac4ea75f
x-ms-exchange-atpmessageproperties: SA
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info: z+w6CzEYGqlgYUfST6/2NxB7j3/gE5Xoxx1Mk657UPbsd+5JSD3Hw/IEt3+W/Wz3fil1gNaVs6+hSWIm6z46jH5ZmjpLVDUeVpCVLX6D6qHC6D6UKwxd/liHAa2yMKjclPFeBDcDaSmI1j861azSDIagls9/FYOIwTVM7gJ9cLghoqFSMH8i7ZNHci5YXltoqIe5x0fxIU7s8+TF4m9oUvKIEj5Euz6hIPpSOQYY1NXVPB8j7AdTf+05Y5bUXcX/V10Wl7uZOK5RMEN/RjNiTKGoYnbYw0Vew7E9m6Clrs9S+XB8qTApRdidtXjbyfQr0tc98BIqPQZtEfRJMcsDYLmgh8L8S44uLGESnWb/DB+giHU3ASlP/qC58530po9lzbIBhQyCBIurJObMFGVlXqfQvdhBP9kFJoc0db+7MSR9/8jlOczccqN/VRSQG5okZ+qQABPZLr06T1H2ZRYpz/70TsjWqXYsfzm7kHzD4jr/rl54kQPmHgghRc/XV76ji9LpNHxnZpuUbxAk2ylLbCspLThR7xJvWmYOTQ385KpPw6q5iO4O7KFECAy8CE4bhAJRLuhGaF/ejmIoQ/Fx9TPDbiwwqzSvsJ59ha1JVLnQRLQsCjlAOPgIHbvqWJhIa0MB0PrO0TSAbFzq8sxZHfj8A3neXs4I1fy4DtQbjavUOeXkQ7ThRwbUQ/S3syoobkBShyFNakrQ3hAUvh92aRQfn+aMXecM+1/neyteWIEHGiqym7i6a1BvLLp5SmKfQJ75c9sryzVzPml1BQyI51f2FZXfsK4aS2KdABX3RgUTfRTuTLwuHJZD43IlJU1dPWFwc1J4vVRaeU6RddJrmKu7ztYjgLKwfdS+Dz7ACqZvlyiWx6p4UlvWTkq7kijeScp0Xsc5QOd11cuCauca819uTZLB/dXLXozxpCkRtftyxK9e1VeMPfdtrJ2e4S702eD4bsPraeLbg2CWbs+aGwxyFVYsN+Zd55H9aJUNJr0ro4hY7pkSqHXRqw4TsrAxbtBeGO/7gqfRPD/VYSJrykajGtAJN8cdP9+U3HpMwz2ikgPrP9/2BELaGFqH2etb9JD/XbD/VlG3/z8idl1WGeo77jGn9CrnsYs4AnSu/+Gz7/zgcfO3rQWVdbOfHyN3hkPu1N0YPCQqgUMV+fWqv+o8AxxtlsXitwbhX/nC+zRcljhM42K3+mj39N/L06ZdRBr+YRB4Ik24z36TgEIZ9WIVwZW5KrHR7QFUOB4JIRnhHipM9mln2yoGnmaEq5zrecsoqQbmK6oibYevuyrqituT2oWOidX454iXtGxKaR7fs9DH0B0kcNcbGK4x1Fg3UH/OyzwpV0OKcd6sb1EwBD3O9FtcUaR9GztolOjVpOg=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR13MB5084.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 6yUx+BblewdpO4TsHVCDoKL5dqHXGvROZ5QP5X6UnXN9gIhcymsMU56Tc82thjSsxLAqpA9SEZjELLVrue5ca2jGSgUJevsGwB4VmO7I7j6KJDnbcqQVRehMuFFROWWcMl6zS57I4Bu6fJxlBLSimz4H4rpHz5MVPVp3XAQTSyD/FwlGNHvo0ZyqAdb4XPZbVGqknnAz15dUhDvfDdZYbD8Ajm3ry3sT+hKUqPu/AxIHsCFocErk4cY871BnUT0r46XWuWyV9tssIddcm4tcSmlm8c8+KiVenShckFawNeMwi2o0EEgmtFBq6LEb0uMp313P5CelHPBVlzB643mNc5dP8VCSvTaxJeYoFUCx48ow6hfL51AIFu7x+WfkH8IS72hgAvI0H5d0i6YDMOKNU5yb3Sx3bvdveg9T18SC1Y2GSGlxngqdxnQ3pZvr3GPN3N8WlkR/eT3uteWFrkeCSQGZrF6c1/6hs47la01hUATdkYpnO05qKkeY/pCdejXKr2ye4GnGYNUiarUmFX2xy+CYp+6M1S14HBmP9O/mVMAeYLR4Ux71gE2iqDQuDHgSYuAg+1NybFZYKCTtXz7TrmI68x7btxkyBppje7tbn8R5rIt7itG8uBCVIcdN0Sj3ibXLF+SuWF4Zy3rNm57iMzu+BQaB2TWtDSBUl9cq0wuAwZWLsnDtdi3uebXkICNsAql3Tdrt9QXQCssK77cMEBZK8EmTu/06A1HKbWUiztL3chrAGPjMXDmGVy2dJipn+LCl+bV8XxTH6ZpFwcU657ZVzQaGzRlx98E7n2LuDPAkI8RgXH+S3IskU0yMjJPdBUp4H2eNoqbjT75423Bg8nAoTvq+Gd6A7YCFdj8/JAr/haCzCOpKwIwZ9N19jYlZOw8t7sMcxNuyE3y4XMBHzvKav2TV1qExVqUw2wYQ2oLNSty8bUyTVhYO51Hdnvc6tltwPr4aDWfS2nxOxrd47+2ClUlTel/zgV5Ay5neIOoVNHkeBkkbXz0mNlLFsNxCGJRRCkpWqr4hCMBqyFprB0x6SerYBr1T1Pt1cMPWNmTgY5K0x+FMbToa772NXL7+xGM5dvptPPX7CsHAWcZigdcRBywid8rtqOoIvEogwhCOjljiVhndHMpiktl+FYRR8ESMX6EEOuRNFAoy6NxG52C+EcGo1Tk7jZ90Gxp3med/vAnK2SVn8uL5tQkvSJvswCU/HDKn+W1NikBY43XWLaTeTSHC92Io3RfpUoGnjP7Z2liBwO8urGjf00+aRxHNHGMunbO2BLgkMf8bFfGcueOjWUtGBq4eDDLZHJRgb0sMlxsuRBAYqnXHW9f1qBB3VkY9c/9q2AI1Selb7hZSdek4mLaHFAKF6ZWfVSmgh46dMrb48Uug4EouiBHAtdNUwsx2Y8miC9ixeUPJijXBPIlJp2HZbMK9IV5ObN2OTOaImqzs5Z5hkIhet0gSXxTN8DclgepMYsQYI8ohduOZ7u9fKEBBQa1En12R/HUCSmN9DRDF8VL0IW0XsN9Xe3/Zw2cNqwUh/byr4F+cMXmcLuWhg4zjftKCPxLi0P9OSLIbkBeWf4IV1MrJSm7TeWOne7tIrxgIzVSyyp7ZlDcsHw==
Content-Type: multipart/alternative; boundary="_000_b2700e0bdc694aedaf7a49d878074220e8a28c09camelhammerspac_"
MIME-Version: 1.0
X-OriginatorOrg: hammerspace.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR13MB5084.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c128497-b543-46a1-db16-08dcac4ea75f
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jul 2024 02:08:19.4975 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: azGPRHngiGQ0aPm2luLMlo8NWgduUeP1kXxixrIVdJR3E5xCl3qFCa640ZE7asjQpAhrThBbMCZTbrl94HhUtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR13MB5602
Message-ID-Hash: JMTEDZ5GFSRFY47WHWVJJJLR4GUAVT3N
X-Message-ID-Hash: JMTEDZ5GFSRFY47WHWVJJJLR4GUAVT3N
X-MailFrom: trondmy@hammerspace.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "bfields@fieldses.org" <bfields@fieldses.org>, "nfsv4@ietf.org" <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: Our different approaches to draft POSIX ACL support in NFSv4
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/12dAyvPuVB1kUIK9Ozi1lv7eckE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

On Wed, 2024-07-24 at 18:02 -0700, Rick Macklem wrote:


On Tue, Jul 23, 2024 at 11:09 AM Trond Myklebust <trondmy@hammerspace.com<mailto:trondmy@hammerspace.com>> wrote:
On Tue, 2024-07-23 at 15:27 +0000, Chuck Lever III wrote:
>
>
> > On Jul 23, 2024, at 10:27 AM, Trond Myklebust <trondmy@gmail.com<mailto:trondmy@gmail.com>>
> > wrote:
> >
> > On Tue, 2024-07-23 at 13:54 +0000, Chuck Lever III wrote:
> > >
> > > > On Jul 22, 2024, at 7:13 PM, Rick Macklem
> > > > <rick.macklem@gmail.com<mailto:rick.macklem@gmail.com>>
> > > > wrote:
> > > >
> > > > I just looked at opensolaris/usr/src/head/rpcsvc/nfs_acl.x
> > > > which I think is the closest thing there is to a spec. for
> > > > NFSACL.
> > > > (FreeBSD does not implement this protocol and all I know about
> > > > it
> > > > is what this little .x file indicates.)
> > >
> > > That's excellent, thanks for finding it.
> > >
> > > My concern about this is that the cited .x file falls under
> > > CDDL, and thus cannot be used directly by a GPL-encumbered
> > > OS like Linux, nor can it be contributed to the IETF in its
> > > current form.
> > >
> > > This is clearly prior art.
> > >
> > > My question then is whether we should endeavor to produce
> > > an Informational document that describes NFSACL without
> > > encumbrance -- ie, get Sun-Oracle to contribute that work
> > > so that it might be used openly.
> > >
> >
> > Why do we care?
>
> As I explained, we do want to have a protocol specification
> for NFSv4 that will not be disruptive to folks who were using
> NFSv3 and are now accessing the same ACLs via NFSv4.2+

No we don't.

We need a new protocol specification that works correctly with the
draft POSIX acls in use with existing Linux and other filesystem, and
that supports all the features of the IEEE 1003.1e draft 17 document
that were implemented within Linux and the *BSD.
Once we have that, I will happily plug that implementation into the
inode 'get_acl()' and 'set_acl()' callbacks, and people will be able to
use the bog standard getfacl and setfacl utilities to control the POSIX
ACLs as if they were running on a native filesystem.

Ok. It sounds like you support the concept of extending NFSv4.2
to support POSIX draft ACLs.  If this is not the case, please
clarify this?

I agree that we should treat POSIX draft acls as being something very different than NFSv4 acls, and that it makes sense to extend the NFSv4.2 protocol to support them. We've tried to create mappings between the two for over 2 decades now, and the conclusion has always been that such mappings lead to security compromises that are not always acceptable to end users, particularly when trying to map arbitrary NFSv4 acls into POSIX draft acls.

Given the above, I will get back to writing a IETF draft describing
POSIX draft ACL attributes as I prototyped them, as a starting point
w.r.t. this.

rick

I think that would be a very useful effort if we want to fully integrate all the filesystems that use them into the NFS ecosystem.

I also think that if someone does still want to build a mapping between NFSv4 acls and POSIX draft acls, then this effort does not preclude them from doing so. Instead, it would allow them to do so in userspace, where the security nuances are perhaps easier to resolve with active help from the users.


--

Trond Myklebust
CTO, Hammerspace Inc
1900 S Norfolk St, Suite 350 - #45
San Mateo, CA 94403
​
www.hammerspace.com