global change from samba.anu.edu.au to samba.org
[samba.git] / docs / textdocs / UNIX_SECURITY.txt
1 !==
2 !== UNIX_SECURITY.txt for Samba release 2.0.0-beta1 13 Nov 1998
3 !==
4 Contributor:    John H Terpstra <jht@samba.org>
5 Date:           July 5, 1998
6 Status:         Current
7
8 Subject:        SETTING UNIX FILE SYSTEM SECURITY
9 ===============================================================================
10 The following excerpt from a bug report demonstrates the need to
11 understand Unix file system security and to manage it correctly.
12
13 Quote:
14 ======
15 > We are unable to keep individual users from mapping to any other user's
16 > home directory once they have supplied a valid password! They only need
17 > to enter their own password. I have not found *any* method that I can
18 > use to configure samba to enforce that only a user may map their own
19 > home directory.
20
21 > User xyzzy can map his home directory. Once mapped user xyzzy can also map
22 > *anyone* elses home directory!
23
24 ANSWER:
25 =======
26 This is not a security flaw, it is by design. Samba allows
27 users to have *exactly* the same access to the UNIX filesystem
28 as they would if they were logged onto the UNIX box, except
29 that it only allows such views onto the file system as are
30 allowed by the defined shares.
31
32 This means that if your UNIX home directories are set up
33 such that one user can happily cd into another users
34 directory and do an ls, the UNIX security solution is to 
35 change the UNIX file permissions on the users home directories
36 such that the cd and ls would be denied.
37
38 Samba tries very had not to second guess the UNIX administrators
39 security policies, and trusts the UNIX admin to set
40 the policies and permissions he or she desires.
41
42 Samba does allow the setup you require when you have set the
43 "only user = yes" option on the share, is that you have not set the
44 valid users list for the share.
45
46 Note that only user works in conjunction with the users= list,
47 so to get the behavior you require, add the line :
48
49 user = %S
50
51 to the definition of the [homes] share, as recommended in
52 the smb.conf man page.
53