1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
.\" $OpenBSD: mount_msdos.8,v 1.30 2016/10/08 09:34:16 schwarze Exp $
.\" $NetBSD: mount_msdos.8,v 1.10 1996/01/19 21:14:43 leo Exp $
.\"
.\" Copyright (c) 1993,1994 Christopher G. Demetriou
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Christopher G. Demetriou.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: October 8 2016 $
.Dt MOUNT_MSDOS 8
.Os
.Sh NAME
.Nm mount_msdos
.Nd mount an MS-DOS file system
.Sh SYNOPSIS
.Nm mount_msdos
.Op Fl 9ls
.Op Fl g Ar gid
.Op Fl m Ar mask
.Op Fl o Ar options
.Op Fl u Ar uid
.Ar special
.Ar node
.Sh DESCRIPTION
The
.Nm
command attaches the MS-DOS file system residing on
the device
.Ar special
to the global file system namespace at the location
indicated by
.Ar node .
This command is invoked by
.Xr mount 8
when using the syntax
.Bd -ragged -offset 4n
.Nm mount Op options
-t msdos
.Ar special Ar node
.Ed
.Pp
The
.Ar special
device must correspond to a partition registered in the
.Xr disklabel 5 .
.Pp
This command is normally executed by
.Xr mount 8
at boot time, but can be used by any user to mount an
MS-DOS file system on any directory that they own (provided,
of course, that they have appropriate access to the device that
contains the file system).
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl 9
Ignore the special Windows 95/98 directory entries even
if deleting or renaming a file.
This forces
.Fl s .
.It Fl g Ar gid
Set the group of the files in the file system to
.Ar gid .
The default group is the group of the directory
on which the file system is being mounted.
.It Fl l
Force listing and generation of
Windows 95/98 long filenames
and separate creation/modification/access dates.
.Pp
If neither
.Fl s
nor
.Fl l
are given,
.Nm
searches the root directory of the file system to
be mounted for any existing Windows 95/98 long filenames.
If no such entries are found,
.Fl s
is the default.
Otherwise
.Fl l
is assumed.
.It Fl m Ar mask
Specify the maximum permissions for files and directories
in the file system.
Only the nine low-order bits of
.Ar mask
are used.
.It Fl o Ar options
Use the specified mount
.Ar options ,
as described in
.Xr mount 8 .
.It Fl s
Force behaviour to
ignore and not generate Windows 95/98 long filenames.
.Pp
If neither
.Fl s
nor
.Fl l
are given,
.Nm
searches the root directory of the file system to
be mounted for any existing Windows 95/98 long filenames.
If no such entries are found,
.Fl s
is the default.
Otherwise
.Fl l
is assumed.
.It Fl u Ar uid
Set the owner of the files in the file system to
.Ar uid .
The default owner is the owner of the directory
on which the file system is being mounted.
.El
.Pp
File permissions for FAT file systems are imitated,
since the file system has no real concept of permissions.
The default mask is taken from the
directory on which the file system is being mounted,
except when the
.Fl m
option is used.
FAT does have a
.Dq read only
mode,
in which the writable bit is unset.
If such files are found,
they are marked non-writable;
it can be set using
.Li chmod -w
or unset using
.Li chmod +w .
.Pp
File modes work the same way for directories.
However a directory will inherit the executable bit if it is readable.
See
.Xr chmod 1
for more information about octal file modes.
.Sh SEE ALSO
.Xr chmod 1 ,
.Xr mount 2 ,
.Xr disklabel 5 ,
.Xr fstab 5 ,
.Xr disklabel 8 ,
.Xr mount 8 ,
.Xr umount 8
.Sh HISTORY
The
.Nm
utility first appeared in
.Nx 0.9 .
Its predecessor, the
.Nm mount_pcfs
utility, appeared in
.Nx 0.8 ,
and was abandoned in favor
of the more aptly named
.Nm mount_msdos .
.Sh AUTHORS
.An -nosplit
The original code was written by
.An Paul Popelka Aq Mt paulp@uts.amdahl.com
as a patch to
.Bx 386 0.1
in November 1992.
The current version is based on code written by
.An Christopher G. Demetriou Aq Mt cgd@netbsd.org
in April 1994.
.Sh CAVEATS
The maximum file size supported by the MS-DOS file system is
one byte less than 4GB.
This is a FAT file system limitation, documented by Microsoft
in Knowledge Base article 314463.
.Pp
The MS-DOS file system (even with long filenames) does not support
filenames with trailing dots or spaces.
Any such characters will be silently removed before the directory entry
is written.
This too is a FAT file system limitation.
.Pp
The use of the
.Fl 9
flag could result in damaged file systems,
albeit the damage is in part taken care of by
procedures similar to the ones used in Windows 95/98.
.Pp
The default handling for
.Fl s
and
.Fl l
will result in empty file systems being populated
with short filenames only.
To generate long filenames on empty DOS file systems use
.Fl l .
.Pp
Note that Windows 95/98 handles only access dates,
but not access times.
|