|
MS Windows NTFS Comparison with UNIX File Systems
Samba operates on top of the UNIX file system. This means it is subject to UNIX file system conventions
and permissions. It also means that if the MS Windows networking environment requires file system
behavior, that differs from UNIX file system behavior then somehow Samba is responsible for emulating
that in a transparent and consistent manner.
It is good news that Samba does this to a large extent, and on top of that, provides a high degree
of optional configuration to override the default behavior. We look at some of these overrides,
but for the greater part we stay within the bounds of default behavior. Those wishing to explore
the depths of control ability should review the smb.conf man page.
The following compares file system features for UNIX with those of MS Windows NT/200x:
-
Name Space
-
MS Windows NT4/200x/XP file names may be up to 254 characters long, and UNIX file names
may be 1023 characters long. In MS Windows, file extensions indicate particular file types;
in UNIX this is not so rigorously observed because all names are considered arbitrary.
What MS Windows calls a folder, UNIX calls a directory.
-
Case Sensitivity
-
MS Windows file names are generally uppercase if made up of 8.3 (8-character file name
and 3 character extension. File names that are longer than 8.3 are case preserving and case
insensitive.
UNIX file and directory names are case sensitive and case preserving. Samba implements the
MS Windows file name behavior, but it does so as a user application. The UNIX file system
provides no mechanism to perform case-insensitive file name lookups. MS Windows does this
by default. This means that Samba has to carry the processing overhead to provide features
that are not native to the UNIX operating system environment.
Consider the following. All are unique UNIX names but one single MS Windows file name:
MYFILE.TXT
MyFile.txt
myfile.txt
So clearly, in an MS Windows file namespace these three files cannot co-exist, but in UNIX
they can.
So what should Samba do if all three are present? That which is lexically first will be
accessible to MS Windows users; the others are invisible and unaccessible any
other solution would be suicidal. The Windows client will ask for a case-insensitive file
lookup, and that is the reason for which Samba must offer a consistent selection in the
event that the UNIX directory contains multiple files that would match a case insensitive
file listing.
-
Directory Separators
-
MS Windows and DOS use the backslash \ as a directory delimiter, and UNIX uses
the forward-slash / as its directory delimiter. This is handled transparently by Samba.
-
Drive Identification
-
MS Windows products support a notion of drive letters, like
C:
, to represent
disk partitions. UNIX has no concept of separate identifiers for file partitions; each
such file system is mounted to become part of the overall directory tree.
The UNIX directory tree begins at / just as the root of a DOS drive is specified as
C:\ .
-
File Naming Conventions
-
MS Windows generally never experiences file names that begin with a dot (. ), while in UNIX these
are commonly found in a user's home directory. Files that begin with a dot (. ) are typically
startup files for various UNIX applications, or they may be files that contain
startup configuration data.
-
Links and Short-Cuts
-
MS Windows make use of
links and shortcuts
that are actually special types of files that will
redirect an attempt to execute the file to the real location of the file. UNIX knows of file and directory
links, but they are entirely different from what MS Windows users are used to.
Symbolic links are files in UNIX that contain the actual location of the data (file or directory). An
operation (like read or write) will operate directly on the file referenced. Symbolic links are also
referred to as “soft links.” A hard link is something that MS Windows is not familiar with. It allows
one physical file to be known simultaneously by more than one file name.
There are many other subtle differences that may cause the MS Windows administrator some temporary discomfort
in the process of becoming familiar with UNIX/Linux. These are best left for a text that is dedicated to the
purpose of UNIX/Linux training and education.
|
|