repository. So if you also have svn you can update it to the latest
version at some future date using:
- cd samba4
- svn up
-
+ $ cd samba4
+ $ svn up
Step 2: compile Samba4
----------------------
Run this:
- cd samba4/source
- ./autogen.sh
- ./configure.developer -C
- make
+ $ cd samba4/source
+ $ ./autogen.sh
+ $ ./configure.developer
+ $ make proto all
-If you have gcc 3.4 or newer, then run "make pch" before "make" to
+If you have gcc 3.4 or newer, then substitue "pch" for "proto" to
greatly speed up the compile process (about 5x faster).
directory (defaults to /usr/local/samba). Use --prefix option to
configure above to change this.
- make install
+ # make install
Step 4: provision Samba4
------------------------
-The "provision" step sets up a basic user database.
-
- cd source
- ./script/provision.pl --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD
-
-This will create a file called newsam.ldb. You need to copy this to
-sam.ldb in the "private" subdirectory of your install. For example:
-
- cp newsam.ldb /usr/local/samba/private/sam.ldb
+The "provision" step sets up a basic user database. Make sure your smbscript
+binary is installed in a directory listed in your PATH environment variable.
+It is presumed it's available just like any other commands from your shell.
+ $ cd source
+ $ ./setup/provision --realm=YOUR.REALM --domain=YOURDOM --adminpass=SOMEPASSWORD
Step 5: Create a simple smb.conf
--------------------------------
-You need to create a smb.conf file in the lib/ directory of your
-install. The default is /usr/local/samba/lib/smb.conf. A minimal
-smb.conf would be:
-
- workgroup = YOURDOM
+The provisioning will create a very simple smb.conf with no shares by
+default. You will need to update it to add at least one share. For
+example:
[test]
path = /data/test
read only = no
-The workgroup must exactly match the --domain argument you gave to provision.pl
-
Step 6: starting Samba4
-----------------------
The simplest is to just run "smbd", but as a developer you may find
the following more useful:
- smbd -i -M single -d3
+ # smbd -i -M single
that means "start smbd without messages in stdout, and running a
-single process, with level 3 debugging". That mode of operation makes
-debugging smbd with gdb particularly easy.
+single process. That mode of operation makes debugging smbd with gdb
+particularly easy.
+
+Note that now it is no longer necessary to have an instance of nmbd
+from Samba 3 running. If you are running any smbd or nmbd processes
+they need to be stopped before starting smbd from Samba 4.
Make sure you put the bin and sbin directories from your new install
in your $PATH. Make sure you run the right version!
try these commands:
- smbclient //localhost/test -Uadministrator%SOMEPASSWORD
+ $ 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 about filesystem support
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_SECURITY=y
+If you are running a Linux 2.6 kernel with CONFIG_IKCONFIG_PROC
+defined you can check this with the following command:
+
+ $ zgrep CONFIG_EXT3_FS /proc/config.gz
+
If you don't have a filesystem with xattr support, then you can
simulate it by using the option:
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 -d system.txt
+ # 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:
If you get any "Operation not permitted" errors then it probably means
you didn't try the test as root.
+
+