[Samba] Samba 3.0.x access rights issue with secondary groups or
Unix rights
albanperso-zatoo at yahoo.com
albanperso-zatoo at yahoo.com
Mon Aug 18 14:53:42 GMT 2008
Hi experts
I have a trouble in access rights
I am running Samba
3.0.31 on Solaris 10 x86 64 bits as member server of an Active
Directory 2003 R2 domain (MYDOMAIN) using Identity Management for Unix
I set rights to access a sub folder of a Samba share. On Solaris the user
"toto" jdoe can write a new file. From Windows, the same user can't.
Itlooks like OK when the primary group (grp1) of the user is the group
that own the subtree but not when this owner group is a secondary group
(grp2).
It is OK If I set explicitly the user right from MS Windows
I can't change the access rights to the group from MS Windows
I suspect Unix ownership or ACL to be the root cause but I can't exclude a Samba issue
Thanks for help
Here a long details on my config (sorry for the parts that take place and no useful info, so just go to the valuable data)
************ An extract from my smb.conf ************
[global]
## part windows ##
host msdfs = no
netbios name = machines01
netbios aliases = 2store
server string = 2store
workgroup = MYDOMAIN
realm = MYDOMAIN.LOCAL
security = ADS
use kerberos keytab = yes
obey pam restrictions = Yes
use spnego = yes
client use spnego = yes
password server = machinew01.MYDOMAIN.local machinew07.MYDOMAIN.local
# unix extensions = no
machine password timeout = 0
# logon path = \\machines01\profiles\%U
template shell = /bin/bash
hosts allow = 127.0.0.1, 192.168.10.0/255.255.255.0, 192.168.11.0/255.255.255.0
## part samba engine ##
max log size = 50000
log level = 10
syslog = 0
log file = /var/log/samba/%m
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
## part ldap et idmap ##
ldap admin dn = "cn=myadmin,cn=users,dc=MYDOMAIN,dc=local"
ldap idmap suffix = ou=idmap
ldap ssl = no
idmap backend = ldap:ldap://machinew01.MYDOMAIN.local ldap:ldap://machinew07.MYDOMAIN.local
#idmap backend = idmap_rid:MYDOMAIN=10000-20000
#idmap backend = ad
idmap uid = 10000-20000
idmap gid = 10000-20000
#idmap config MYDOMAIN:schema_mode = rfc2307
## part winbind ##
winbind nss info = rfc2307
winbind cache time = 5
winbind refresh tickets = Yes
winbind use default domain = Yes
winbind trusted domains only = Yes
winbind nested groups = Yes
winbind enum groups = Yes
winbind enum users = Yes
[data]
comment = Samba data folder
path = /samba/data
read only = No
create mask = 0740
directory mask = 0750
guest ok = Yes
************ Check the Unix name resolution ************
getent passwd jdoe
jdoe:x:10037:10002:John DOE:/home/jdoe:/bin/sh
getent group grp2
grp2::10004:myadmin,jdoe,demo1,demo2,demo3
************ I can check that Samba can resolve if the user is member of the group ************
/usr/local/samba/bin/net ads user info jdoe
grp2
grp1
/usr/local/samba/bin/wbinfo -G 10004
S-1-5-21-2269603188-533060101-51835291-1642
/usr/local/samba/bin/wbinfo -Y S-1-5-21-2269603188-533060101-51835291-1642
10004
/usr/local/samba/bin/wbinfo -R 10004
winbind_lookup_rids failed
Could not lookup RIDs 10004
************ Review of the access rights ************
ls -al /samba/data/level1/level2/level3/level4
drwxrwsr-x+ 19 myadmin grp2 512 Aug 15 11:18 .
drwxr-x--- 9 myadmin grp1 512 Aug 12 16:06 ..
drwxrws---+ 3 myadmin grp2 512 Jun 27 10:58 general
-rwxr-----+ 1 jdoe grp2 0 Aug 15 11:18 New Text Document from Windows.txt
-rwxrw---- 1 jdoe grp2 44 Aug 15 11:14 newdocfromunix.txt
*** ACTION: I try on Unix to change the group owner of ".." by grp2 but that remove all jdoe access from Windows
************ Test POSIX ACLs ************
getfacl -a /samba/data/level1/level2/level3/level4/
# file: /samba/data/level1/level2/level3/level4/
# owner: myadmin
# group: grp2
user::rwx
group::rwx #effective:rwx
other:r-x
getfacl -a /samba/data/level1/level2/level3
# file: /samba/data/level1/level2/level3
# owner: myadmin
# group: grp1
user::rwx
group::r-x #effective:r-x
mask:r-x
other:---
getfacl -a /samba/data/level1/level2
# file: /samba/data/level1/level2
# owner: myadmin
# group: grp1
user::rwx
group::r-x #effective:r-x
other:r-x
getfacl -a /samba/data/level1
# file: /samba/data/level1
# owner: root
# group: root
user::rwx
group::r-x #effective:r-x
mask:r-x
other:r-x
getfacl -a /samba/data
# file: /samba/data
# owner: myadmin
# group: grp1
user::rwx
user:user123:rwx #effective:rwx
group::r-x #effective:r-x
mask:rwx
other:r-x
************ From MS Windows side ************
properties/security
The group is in the "group and user names" list
there is no check box in the Allow or deny clomn
Advanced/permissions
Type Name Permission Inherited from Apply to
Allow smb_ins (MYDOMAIN/smb_ins) <not inherited> This folder only
****** ACTION:
When I try to force the situation returns to the original state with no error
checking allow inheritable and/or Replace permissions has no effect on nany combination
When I add the user with access right, it is OK
************ Some extract the Samba log level 10 ************
[2008/08/15 12:25:22, 10] smbd/statcache.c:stat_cache_lookup(248)
stat_cache_lookup: lookup succeeded for name [jdoe] -> [jdoe]
[2008/08/15 12:25:22, 5] smbd/filename.c:unix_convert(246)
unix_convert begin: name = jdoe/ntuser.man, dirpath = jdoe, start = ntuser.man
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled(276)
is_mangled ntuser.man ?
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled_component(215)
is_mangled_component ntuser.man (len 10) ?
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled(276)
is_mangled ntuser.man ?
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled_component(215)
is_mangled_component ntuser.man (len 10) ?
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled(276)
is_mangled ntuser.man ?
[2008/08/15 12:25:22, 10] smbd/mangle_hash2.c:is_mangled_component(215)
is_mangled_component ntuser.man (len 10) ?
[2008/08/15 12:25:22, 5] smbd/filename.c:unix_convert(440)
New file ntuser.man
[2008/08/15 12:25:22, 3] smbd/dosmode.c:unix_mode(142)
unix_mode(jdoe/ntuser.man) returning 0700
[2008/08/15 12:25:22, 10] smbd/open.c:open_file_ntcreate(1184)
open_file_ntcreate: fname=jdoe/ntuser.man, dos_attrs=0x0
access_mask=0x1 share_access=0x7 create_disposition = 0x1
create_options=0x140 unix mode=0700 oplock_request=3
[2008/08/15 12:25:22, 5] smbd/open.c:open_file_ntcreate(1264)
open_file_ntcreate: FILE_OPEN requested for file jdoe/ntuser.man and file doesn't exist.
[2008/08/15 12:25:22, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/nttrans.c(805) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND
[2008/08/15 12:25:22, 5] lib/util.c:show_msg(484)
[2008/08/15 12:25:22, 5] lib/util.c:show_msg(494)
size=35
smb_com=0xa2
smb_rcls=52
smb_reh=0
smb_err=49152
smb_flg=136
smb_flg2=51201
smb_tid=3
smb_pid=588
smb_uid=101
smb_mid=1024
smt_wct=0
smb_bcc=0
[2008/08/15 12:25:22, 10] smbd/open.c:open_file_ntcreate(1347)
open_file_ntcreate: fname=jdoe/Application Data/Microsoft/SystemCertificates/My/CRLs, after mapping access_mask=0x1
[2008/08/15 12:25:22, 5] smbd/files.c:file_new(123)
allocated file structure 1332, fnum = 5428 (5 used)
[2008/08/15 12:25:22, 4] smbd/open.c:open_file_ntcreate(1605)
calling open_file with flags=0x0 flags2=0x0 mode=0700, access_mask = 0x1, open_access_mask = 0x1
[2008/08/15 12:25:22, 10] smbd/open.c:fd_open(67)
fd_open: name jdoe/Application Data/Microsoft/SystemCertificates/My/CRLs, flags = 00 mode = 0700, fd = 32.
[2008/08/15 12:25:22, 10] locking/posix.c:get_windows_lock_ref_count(545)
get_windows_lock_count for file = 0
[2008/08/15 12:25:22, 10] locking/posix.c:delete_windows_lock_ref_count(559)
delete_windows_lock_ref_count for file
[2008/08/15 12:25:22, 5] smbd/files.c:file_free(454)
freed files structure 5428 (4 used)
[2008/08/15 12:25:22, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/nttrans.c(779) cmd=162 (SMBntcreateX) NT_STATUS_FILE_IS_A_DIRECTORY
[2008/08/15 12:25:22, 10] smbd/open.c:open_file_ntcreate(1347)
open_file_ntcreate: fname=jdoe/Application Data/Microsoft/SystemCertificates/My/CRLs, after mapping access_mask=0x1
[2008/08/15 12:25:22, 5] smbd/files.c:file_new(123)
allocated file structure 1332, fnum = 5428 (5 used)
[2008/08/15 12:25:22, 4] smbd/open.c:open_file_ntcreate(1605)
calling open_file with flags=0x0 flags2=0x0 mode=0700, access_mask = 0x1, open_access_mask = 0x1
[2008/08/15 12:25:22, 10] smbd/open.c:fd_open(67)
fd_open: name jdoe/Application Data/Microsoft/SystemCertificates/My/CRLs, flags = 00 mode = 0700, fd = 32.
[2008/08/15 12:25:22, 10] locking/posix.c:get_windows_lock_ref_count(545)
get_windows_lock_count for file = 0
[2008/08/15 12:25:22, 10] locking/posix.c:delete_windows_lock_ref_count(559)
delete_windows_lock_ref_count for file
[2008/08/15 12:25:22, 5] smbd/files.c:file_free(454)
freed files structure 5428 (4 used)
[2008/08/15 12:25:22, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/nttrans.c(779) cmd=162 (SMBntcreateX) NT_STATUS_FILE_IS_A_DIRECTORY
_____________________________________________________________________________
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr
More information about the samba
mailing list