r4508: - simplify the code and allocate only in one place
[samba.git] / howto.txt
index bc3978964e3e28ba94bc2fe02fa771b42b940e50..a895903d17be37511286be187647ee3e2a53235a 100644 (file)
--- a/howto.txt
+++ b/howto.txt
@@ -107,12 +107,58 @@ try these commands:
 
       smbclient //localhost/test -Uadministrator%SOMEPASSWORD
     or
-     ./script/tests/test_posix.sh //localhost/test administrator
-    SOMEPASSWORD
+     ./script/tests/test_posix.sh //localhost/test administrator SOMEPASSWORD
 
-Note that to pass all the tests you would need to be using a
-filesystem with user_xattr support. On many Linux systems with an ext3
-filesystem this means mounting with the "-o user_xattr"
-option. Consult your filesystem and kernel docs for more details.
 
+NOTE about filesystem support
+-----------------------------
 
+To use the advanced features of Samba4 you need a filesystem that
+supports both the "user" and "system" xattr namespaces.
+
+If you run Linux with a 2.6 kernel and ext3 this means you need to
+include the option "user_xattr" in your /etc/fstab. For example:
+
+/dev/hda3              /home                   ext3    user_xattr     1 1
+
+You also need to compile your kernel with the XATTR and SECURITY
+options for your filesystem. For ext3 that means you need:
+
+   CONFIG_EXT3_FS_XATTR=y
+   CONFIG_EXT3_FS_SECURITY=y
+
+If you don't have a filesystem with xattr support, then you can
+simulate it by using the option:
+
+   posix:eadb = /usr/local/samba/eadb.tdb
+
+that will place all extra file attributes (NT ACLs, DOS EAs, streams
+etc), in that tdb. It is not efficient, and doesn't scale well, but at
+least it gives you a choice when you don't have a modern filesystem.
+
+Testing your filesystem
+-----------------------
+
+To test your filesystem support, install the 'attr' package and run
+the following 4 commands as root:
+
+  touch test.txt
+  setfattr -n user.test -v test test.txt
+  setfattr -n security.test -v test2 test.txt
+  getfattr -d test.txt
+  getfattr -n security.test -d test.txt
+
+You should see output like this:
+
+  # file: test.txt
+  user.test="test"
+
+  # file: test.txt
+  security.test="test2"
+
+If you get any "Operation not supported" errors then it means your
+kernel is not configured correctly, or your filesystem is not mounted
+with the right options.
+
+If you get any "Operation not permitted" errors then it probably means
+you didn't try the test as root.