[Samba] (no subject)

Alexander forsmb at mail.ru
Mon Jun 18 13:13:10 GMT 2007


Hi list,

I'd like to raise the issue discussed in the thread below. I've faced exactly the same problem and came to exactly the same way out - shutdown winbindd and use "force unknown acl user".

We use "simple" mapping in the environment - all AD accounts have corresponding NIS accounts (the same name) and the mapping is being done by smbd.

The problem here is that I've got a problem with this - when just set up it works perfectly. But if I change primary GID of the user to another one (in this example - user1, old 38916 -> new 38901) I get the access denied error with the following in logs (level 10, some private data masked):

[2007/06/18 16:22:33, 5] smbd/posix_acls.c:unpack_nt_owners(919)
  unpack_nt_owners: validating owner_sids.
[2007/06/18 16:22:33, 10] passdb/lookup_sid.c:sid_to_uid(407)
  sid_to_uid: winbind lookup for non-local sid S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX-XXXXX failed
[2007/06/18 16:22:33, 3] passdb/lookup_sid.c:fetch_gid_from_cache(253)
  fetch gid from cache 38916 -> S-1-5-21-273419216-XXXXXXXXX-XXXXXXXXXX-XXXXX
[2007/06/18 16:22:33, 5] smbd/posix_acls.c:unpack_nt_owners(962)
  unpack_nt_owners: owner_sids validated.
[2007/06/18 16:22:33, 3] smbd/posix_acls.c:set_nt_acl(3134)
  set_nt_acl: chown site/home/user1/test2. uid = 24983, gid = 38916.
[2007/06/18 16:22:33, 3] smbd/posix_acls.c:set_nt_acl(3138)
  set_nt_acl: chown site/home/user1/test2, 24983, 38916 failed. Error = Operation not permitted.
[2007/06/18 16:22:33, 10] locking/locking.c:del_share_entry(658)
  del_share_entry: num_share_modes = 1
[2007/06/18 16:22:33, 10] locking/locking.c:del_share_entry(663)
  del_share_entry: deleted share_mode_entry[0]: pid = 720, share_access = 0x7, private_options = 0x0, access_mask = 0x12008a,
 port = 0x0, type= 0x0, file_id = 4, dev = 0x14, inode = 17667723
[2007/06/18 16:22:33, 10] locking/locking.c:del_share_entry(673)
  del_share_entry: deleting entry 0
[2007/06/18 16:22:33, 10] locking/locking.c:del_share_entry(695)
  del_share_entry: Remaining table.
[2007/06/18 16:22:33, 10] smbd/close.c:close_normal_file(203)
  close_normal_file: share_entry_count = 0 for file home/user1/test2
[2007/06/18 16:22:33, 10] locking/posix.c:posix_locking_close_file(1249)
  posix_locking_close_file: file home/user1/test2 has no outstanding locks.
[2007/06/18 16:22:33, 2] smbd/close.c:close_normal_file(270)
  avteresc closed file home/user1/test2 (numopen=0) 
[2007/06/18 16:22:33, 5] smbd/files.c:file_free(459)
  freed files structure 4172 (0 used)
[2007/06/18 16:22:33, 3] smbd/error.c:error_packet(147)
  error packet at smbd/nttrans.c(1422) cmd=160 (SMBnttrans) NT_STATUS_ACCESS_DENIED


I.e. at some stage of working on ACL Samba gets old GID from somewhere and tries to chown the file to it.

Samba version is 3.0.20b from SLES9SP3 (but tested on 3.0.25 with the same result).
Config file looks like this (again, some privates masked):

[global]
        workgroup = LOCAL
        realm = LOCAL.DOMAIN
        server string = %L - Test Samba Server - %v
        security = ADS
        password server = dc.local.domain
        username level = 2
        lanman auth = No
        log level = 10
        syslog = 0
        log file = /var/log/samba/smb.common.log
        max log size = 100000
        time server = Yes
        deadtime = 15
        socket options = IPTOS_LOWDELAY TCP_NODELAY
        load printers = No
        show add printer wizard = No
        os level = 0
        preferred master = No
        local master = No
        domain master = No
        dns proxy = No
        wins server = XX.XXX.X.XX, XXX.XX.X.XX
        kernel oplocks = No
        directory security mask = 01775
        force unknown acl user = Yes
        oplocks = No
        level2 oplocks = No
 
[homes] 
        comment = Home
        path = /home/%S
        valid users = %S
        read only = No
        inherit permissions = Yes
        browseable = No
 

Upon the connection request, though, Samba recognizes the UID/new GID correctly, this strange glitch happens only at the moment of unpack_nt_owners. The file is being created with correct UID/new GID but with 0 size.

My guess this could be something related to caching, but I've restarted daemons, deleted some /var/lib/samba/*.tdb files related to winbindd with no dice. Reverting GID back resolves the problem.

Could someone give me some assistance with this?

Regards,
Alexander


>Jeremy,
>
>We have found a solution to our problem, although it is not ideal. We
>have used the "force unknown acl user" flag in the smb.conf file,
>setting it to "yes". We have used this at the moment as a quick fix to
>get around the problem, as we have not set up any authentication
>mechanism (winbind) within Samba.
>
>I'll send you the log file when I get a change to copy it over.
>
>Cheers,
>
>Mat 

-----Original Message-----
From: Jeremy Allison [mailto:jra at samba.org] 
Sent: 24 March 2006 17:12
To: Bradford, Matthew
Cc: samba at lists.samba.org
Subject: Re: [Samba] SFU Permission Denied

On Fri, Mar 24, 2006 at 01:00:18PM -0000, Bradford, Matthew wrote:
> This appears to be an old problem, but is a complete show stopper for 
> us at the moment.
> 
> We are trying to access an NFS file system, via Samba, from a WinXP 
> client. Within Windows itself everything is fine, but when accessing 
> the shares from within an SFU cshell, an error is returned when a file

> is created. The file is successfully created, but a "Permission
Denied"
> error is returned.
> 
> We receive the "Unable to validate owner sid" message in the log file.
> 
> Has any found a solution to this problem yet?
> 
> We are using Samba 3.0.21c and SFU 3.5.

Debug level 10 log please ? I'm guessing that the problem might be the
uid/gid's on the file can't be looked up in the LSA. What
authentication/domain system are you using ?

Jeremy.


More information about the samba mailing list