Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/doc/filemodes.sgml')
-rw-r--r--winsup/doc/filemodes.sgml34
1 files changed, 34 insertions, 0 deletions
diff --git a/winsup/doc/filemodes.sgml b/winsup/doc/filemodes.sgml
new file mode 100644
index 000000000..b0bac2eef
--- /dev/null
+++ b/winsup/doc/filemodes.sgml
@@ -0,0 +1,34 @@
+<sect1 id="using-filemodes"><title>File permissions</title>
+
+<para>On Windows 9x systems, files are always readable, and Cygwin uses the
+native read-only mode to determine if they are writable. Files are
+considered to be executable if the filename ends with .bat, .com or .exe, or
+if its content starts with #!. Consequently <command>chmod</command> can
+only affect the "w" mode, it silently ignores actions involving the other
+modes. This means that <command>ls -l</command>
+needs to open and read files. It can thus be relatively slow.</para>
+
+<para>Under NT, file permissions default to the same behavior as Windows
+9x but there is optional functionality in Cygwin that can make file
+systems behave more like on UNIX systems. This is turned on by adding
+the "ntea" option to the <EnVar>CYGWIN</EnVar> environment variable.</para>
+
+<para>When the "ntea" feature is activated, Cygwin will start with basic
+permissions as determined above, but can store POSIX file permissions in NT
+Extended Attributes. This feature works quite well on NTFS partitions
+because the attributes can be stored sensibly inside the normal NTFS
+filesystem structure. However, on a FAT partition, NT stores extended
+attributes in a flat file at the root of the partition called <filename>EA
+DATA. SF</filename>. This file can grow to extremely large sizes if you
+have a large number of files on the partition in question, slowing the
+system to a crawl. In addition, the <filename>EA DATA. SF</filename> file
+can only be deleted outside of Windows because of its "in use" status. For
+these reasons, the use of NT Extended Attributes is off by default in
+Cygwin. Finally, note that specifying "ntea" in <EnVar>CYGWIN</EnVar> has no
+effect under Windows 9x. </para>
+
+<para>Under NT, the test "[ -w filename]" is only true if filename is
+writable across the board, e.g. <command>chmod +w filename</command>. </para>
+
+</sect1>
+