Note: Fedora ships kernels without NTFS support (due to licensing/legal problems). If you wish to use this file system you need to perform few additional steps (install kernel module for NTFS). This issue is fully covered so I won't elaborate on that. Please refer to this document prior to asking questions about NTFS. Also keep in mind that NTFS support is for reading only (consider that when setting permissions to match this restriction).
A lot of us use so called dual boot configurations. Meaning running Windows side by side with Linux. In those cases we wish to mount Windows orgining (since we can't do other way) file systems (FS from now) under our Linux file tree - i.e. to share files between systems. The easiest way to do it is to issue mount
command (as root
, of course all these commands require root
access):
# mkdir /tmp/fatfs # mount /dev/hda1 /tmp/fatfs(I assume here that you know which device in
/dev
directory is your partition, for this example it is /dev/hda1
.)
But doing so leaves us with few problems:
root
access to do it.Note: Look at mount manual (man mount
) to see more detailed description.
The options we will use are auto, rw, uid, gid, showexec, quiet, umask, fmask, dmask
:
auto
- means that FS will be mounted at boot time.rw
- this implies read/write access to FS.uid
- represents the user ID (numeric). Files will be present with this user as owner when the FS will be mounted. You probably wish set this to user root (uid 0
).gid
- represents the group ID (numeric). Files will be present owned by this group when the FS will be mounted. You will probably wish to have separate group to control who can access FS. More info on that below.showexec
- makes the system to look after DOS/Windows executable files (EXE, COM
etc.) and sets them with execute file permission.
quiet
- means the system will not output errors when we try to change file parameter on FS (obviously we can't do that since FAT does not support that).umask
- represents reverted octal permissions that files will get upon mount. This is tricky because it is reverted. So if you want files to be 770 (mean files fully accessible to owner stated in uid
and group stated as gid
option and not accessible by all/others) you must revert the values so it will become 007.fmask
- same as umask
but only for files (not directories).
dmask
- same as umask
but only for directories. Note that directories must have execution permission so you can list them (you still can read files from directories which have read permission but you need to know full path to the file).Note: the fmask
and dmask
options are present only in systems running kernel 2.6 - so if you are using Fedora Core 1 (newer versions run kernel 2.6) you can only use umask
option (which is sufficient with showexec
option).
To illustrate this I'll show example of such usage.
First we need to create mount point (directory where FS will be mounted) lets say /mnt/fat
(usually we state this upon install so it should be already present, in this document I assume that we are doing everything from scratch). Don't bother with this directory permissions - they will be changed on mount anyway. And we assume our FS resides on /dev/hda1
.
Now we need to add a group that will be allowed to read/write files on our FS. Usually it is good habbit to have separate group for "better" users - with more control over system/access to more commands etc. if you have such - use this group. To add group we use following command:
# groupadd -g 500 fatWe just created group named
fat
with ID 500. Now we add our username to this group:
# usermod -G fat me(
me
is my username, you need to do it with every user you wish to be able accessing this FS.)
Now we edit /etc/fstab line about our file system (it may be already present):
/dev/hda1 /mnt/fat auto auto,rw,uid=0,gid=500,showexec,quiet,fmask=117,dmask=007 0 0 # This line is long so it may be break on your display - above must be in one line.
Some explanations: first auto
means that FS type will be auto detected. 0 0
are numbers for dump
program. Probably few us use this program so I won't refer to that - just leave them as is. Other options are explained above.
What it does? It makes the system mount our FS (/dev/hda1
) in /mnt/fat
mount point. Files are set with 660 permissions (but EXE
and similar get 770) and directories with 770. Files on this FS are present with root
as owner and fat group
. This means that root
and members of fat
group have full access to this FS. All other users can't even get into its directory. Also there are few neat features as mounting automagically on boot and suppressing output messages (those can be annoying as some programs often try to modify permissions - i.e. editors and file managers).
Note: This is just an example - you should experiment and use your own settings to fill your needs. With NTFS you should change some settings. Also probably your device name and desired mount point may vary.
I hope you find this little HOWTO helpfull. Have fun with Linux! ;)
PS. Sorry for my poor English but I am not native English speaker.