Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2017 14:08:12 -0600
From:      Karl Denninger <karl@denninger.net>
To:        freebsd-fs@freebsd.org
Subject:   Re: MSDOS Filesystem question related to "read-only" files
Message-ID:  <0e31a0cf-8a97-1d63-8ebb-9c61d22539cb@denninger.net>
In-Reply-To: <e6a682a1-322e-a677-3d5e-0a7a503ebd40@denninger.net>
References:  <f4ccb904-63fd-4641-89c8-09357fbb5a1c@denninger.net> <CAG6CVpUZumZaU9xVcri1Ry8=C6j6JrjX5F6qd3oKatYZXFu6Kg@mail.gmail.com> <e6a682a1-322e-a677-3d5e-0a7a503ebd40@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format.

--------------ms000106040502070703060000
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Oh, my apologies -- I didn't include the version:

FreeBSD 11.0-STABLE #0 r313159M: Fri Feb=C2=A0 3 09:58:35 CST 2017

On an RPI2, but I doubt that matters.


On 11/20/2017 14:02, Karl Denninger wrote:
> 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 =
Nov 20 16:04 ..
> drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Nov 1=
9 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 =
Nov 20 16:04 ..
> drwxr-xr-x=C2=A0=C2=A0 1 hdmcp=C2=A0 wheel=C2=A0=C2=A0=C2=A0 4096 Nov 1=
9 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 <karl@denninger.net> w=
rote:
>>> 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 lo=
oks
>>> 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 permissi=
on
>>> "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 applicat=
ion
>>> that I do not want to remove if the stick fills (basically, to "prote=
ct"
>>> them from being aged off) and it appears there's no way to do it, oth=
er
>>> than to use something unique in the filename that I would then have t=
o
>>> pay attention to.
>>>
>>> --
>>> Karl Denninger
>>> karl@denninger.net <mailto:karl@denninger.net>
>>> /The Market Ticker/
>>> /[S/MIME encrypted email preferred]/

--=20
Karl Denninger
karl@denninger.net <mailto:karl@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

--------------ms000106040502070703060000
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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
--------------ms000106040502070703060000--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0e31a0cf-8a97-1d63-8ebb-9c61d22539cb>