[ros-dev] Security policy for FAT partition driver?
Phillip Susi
psusi at cfl.rr.com
Thu May 12 23:31:19 CEST 2005
Michael B. Trausch wrote:
>When the system is unmounted, as I understand it, it's marked 'dirty' so
>that the next time you boot into it, Autochk will take a look at it
>before booting. Except that Autochk doesn't work on any system that
>I've worked on, so I had to create a BartPE disc to check the systems
>occasionally. Personally, I've never seen that driver wipe away a
>system, but if you were going to start with something, I suppose I'd try
>to start with that one.
>
>
>
What do you mean autochk does not work? autochk doesn't do anything for
NTFS volumes unless you manually force a check. The entire idea of a
transactional filesystem is that it will never need a disk checker to be
run on it after the volume is unmounted in a dirty state.
>The whole point, however, is that people have tried this and come and
>gone in the past, and it seems terribly daunting. Is it something that
>can really be done before a major stable version? If users want to
>convert their data, can't we build a disc for them that will do that,
>and if so wouldn't it be smart to move their data to a partition type
>first, and then install ROS on that partition with the data? It won't
>necessarily be a one-way-street, as there *are* ways to go back and
>forth, even if they aren't "pretty".
>
>
>
Converting a partition in place from one format to another isn't really
any easier than writing a filesystem driver to access it normally. In
fact, it is probably harder. Then the real point is, why would you want
to convert to a filesystem that does not work as well?
>OTOH, would it be feasible to maybe start with the driver that's been
>written for Linux? How hard would a Linux driver port to Win32?
>(Something I wouldn't know; I don't work that low-level with either of
>them...)
>
> - Mike
>
>
Not really. The entire operating environment, upper interfaces, and
lower interfaces for a filesystem driver are radically different on
Linux than NT.
Steven Edwards wrote:
>Windows would have this same problem with NTFS on Linux. If I am under Linux and make changes to
>files and create files how does linux-NTFS assign the proper SID and such to the files? This has
>been a long time problem that NTFS has with taking a drive from one Windows box to another. Its
>the same situation and mostly pointless. 99% of new ReactOS are not going to care and the
>resources we get from having a better filesystem now can be put in to developing a NTFS
>replacement.
>
>
So? I already said it is a problem translating the other way. The
point still is that it is a problem for us to map our views of what a
filesystem is and can do onto a unix filesystem, so why bother embracing
those problems which at best, have kludgey solutions.
>If the ext2fsd supported ext3 journals there would be nothing wrong with using it. I mean hell
>right now ReactOS does not have a security subsystem so this whole discussion is a moot point.
>Unless you feel like implementing lsass =)
>
>Thanks
>Steven
>
>
There WOULD be a problem with using it, that is what I have been saying
all along. It can't efficiently handle the feature set that ReactOS
expects. Maybe you can come up with some way to force it to work, but
at this point, I believe that any such solution is a poor one riddled
with its own problems, so even if it can be done at all, it is not ideal.
> Robert Shearman wrote:
> You get the same problems when sharing an NTFS filesystem on a
> dual-boot system or when moving one between computers, unless the SIDs
> are well-known.
> I would suggest you check out the Samba presentation at the following
> URL for information on how Samba4 does NTFS->Unix permissions
> conversion so you are not stabbing in the dark:
> http://wiki.winehq.org/WineConf
>
> The problem you are describing has already been solved by them in a
> slightly-not-kludgey way.
>
> Rob
> _______________________________________________
That is not the same problem at all. The foreign system does recognize
the file structure, the standard file information, alternate data
streams, EFS data ( though can not decrypt it obviously ), compressed
files, and so on. With regards to the SIDs in the security
descriptors, yes, the foreign system does not recognize the unknown SIDs
but at least it knows that they are unknown SIDs. On a Linux system
when you mount a foreign ext partition, the kernel ends up thinking that
it does understand the uids, but it interprets them wrongly by mapping
them to random valid users on that system. For example, Joe owns the
file on the primary system but when the foreign system mounts the
volume, Linux thinks that it is owned by Frank who happens to have been
assigned the same uid. NT at least recognizes that it has no idea who
Joe is and doesn't try to claim that Frank owns the file.
The problems I am referring to are more like when Linux tries to mount a
FAT filesystem. There is no security information on the filesystem that
Linux understands, so what does it do? Typically it just pretends that
all the files are owned and are accessible to root with r/w/x access.
You get the same problem when Linux tries to mount an NTFS volume ( or
when ReactOS/NT tries to mount an ext volume ). The information that is
actually stored on the disk is not consistent with the information that
the OS can deal with, so the information must somehow be faked or
translated on the fly, and this causes headaches.
ea wrote:
> It seems MS engineers already solved the problem. Try installing the
> full SFU suite (NIS/AD bridge, NFS server etc.) on a Windows Server
> 2003 DC and look at a file's properties...
> _______________________________________________
I am not able to try this myself so can you explain?
I think that something has been lost in this discussion so I would like
to restate it. I do not think that supporting ext is bad, I just think
that it is not ideal due to the problems involved as a result of the
disjoint feature sets. Because it is not ideal, it should not be the
filesystem of choice. Because our goal is windows compatibility, NTFS
implements all the features that we need quite well, and so it is a much
better choice for a preferred filesystem than ext. That is not to say
that there isn't something that may be even better than NTFS, only that
NTFS is a better choice, all else being equal.
More information about the Ros-dev
mailing list