From owner-freebsd-fs@freebsd.org Mon Nov 20 20:02:50 2017 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E84A9DF43C6 for ; Mon, 20 Nov 2017 20:02:50 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [67.205.158.196]) by mx1.freebsd.org (Postfix) with ESMTP id C04206AE26 for ; Mon, 20 Nov 2017 20:02:50 +0000 (UTC) (envelope-from karl@denninger.net) Received: from denninger.net (ip68-1-57-197.pn.at.cox.net [68.1.57.197]) by colo1.denninger.net (Postfix) with ESMTP id 7896A274BB for ; Mon, 20 Nov 2017 15:02:50 -0500 (EST) Received: from [192.168.10.23] (D13.Denninger.Net [192.168.10.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id 6F7D73A1BCC for ; Mon, 20 Nov 2017 14:02:48 -0600 (CST) Subject: Re: MSDOS Filesystem question related to "read-only" files Cc: "freebsd-fs@freebsd.org" References: From: Karl Denninger Message-ID: Date: Mon, 20 Nov 2017 14:02:47 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms020103050803010300020803" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Nov 2017 20:02:51 -0000 This is a cryptographically signed message in MIME format. --------------ms020103050803010300020803 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable root@Test-MCP:/home/karl/HD-MCP # cd /mnt root@Test-MCP:/mnt # mount /dev/ufs/rootfs on / (ufs, local, noatime, soft-updates, nfsv4acls) devfs on /dev (devfs, local) tmpfs on /tmp (tmpfs, local) /dev/da0s1 on /mnt (msdosfs, local) root@Test-MCP:/mnt # ls -al total 408 drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Jan=C2=A0= 1=C2=A0 1980 . drwxr-xr-x=C2=A0 20 root=C2=A0=C2=A0 wheel=C2=A0=C2=A0=C2=A0=C2=A0 512 No= v 20 16:04 .. drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Nov 19 = 11:20 System Volume Information -rwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0 127979 Nov 19 22:54 cam2-2017-11-19-22-54-47.jpg -rwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0 271295 Nov 19 22:57 cam2-2017-11-19-22-57-20.jpg root@Test-MCP:/mnt # chmod u-w * root@Test-MCP:/mnt # ls -al total 408 drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Jan=C2=A0= 1=C2=A0 1980 . drwxr-xr-x=C2=A0 20 root=C2=A0=C2=A0 wheel=C2=A0=C2=A0=C2=A0=C2=A0 512 No= v 20 16:04 .. drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Nov 19 = 11:20 System Volume Information -rwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0 127979 Nov 19 22:54 cam2-2017-11-19-22-54-47.jpg -rwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0 271295 Nov 19 22:57 cam2-2017-11-19-22-57-20.jpg root@Test-MCP:/mnt # Nope.=C2=A0 The "w" is still there. No error returned from the "chmod" command (or if I call it from a C program) but the file mode is NOT changed whether I'm doing it as the superuser or as the owner of the file (and directory) On 11/20/2017 12:30, Conrad Meyer wrote: > Hi Karl, > > In fact, msdosfs in FreeBSD should set the FAT READONLY attribute > under two conditions: > > 1. The owner chmod's the file non-writeable (chmod u-w) (what you've > described, I think). Or, > 2. The super user or otherwise privileged user sets the "readonly" > flag on the file via chflags(1). > > How have you determined that chmod u-w does nothing? What version of > FreeBSD are you using? > > Best, > Conrad > > > On Mon, Nov 20, 2017 at 7:36 AM, Karl Denninger wr= ote: >> I'm running into an interesting issue here and wondering if there's a >> way to do this under FreeBSD. >> >> MSDOS filesystems have a "primitive" permission capability; >> specifically, they can have a "Read-only" attribute on a file. It loo= ks >> like OpenBSD supports this from reading their man pages. >> >> FreeBSD doesn't appear to. When you mount a msdos filesystem (e.g. a >> USB stick) whoever owns the parent directory where you mount it gives >> you the permissions and "ownership" of files on said filesystem. All >> good so far. But attempting to chmod a file to remove write permissio= n >> "succeeds" (returns success) but does nothing. >> >> Is this capability simply not present on FreeBSD? I'm interested in >> using it as a means of "flagging" files on a USB stick in an applicati= on >> that I do not want to remove if the stick fills (basically, to "protec= t" >> them from being aged off) and it appears there's no way to do it, othe= r >> than to use something unique in the filename that I would then have to= >> pay attention to. >> >> -- >> Karl Denninger >> karl@denninger.net >> /The Market Ticker/ >> /[S/MIME encrypted email preferred]/ --=20 Karl Denninger karl@denninger.net /The Market Ticker/ /[S/MIME encrypted email preferred]/ --------------ms020103050803010300020803 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 --------------ms020103050803010300020803--