[Samba] New Files do not belong to the User who created them...

Axel Werner mail at awerner.homeip.net
Fri Sep 11 03:28:46 MDT 2009


Hi Samba-Gurus out there!

Ive got some strange problem here i already tried to track down 
searching the net and reading tons of manuals. no luck yet. So now ill 
give the Mailing list a try.

The Situation:
############

We run a virtual (VM) Debian Lenny Server as LDAP (OpenLDAP) and Samba 
Domaincontroller/Fileserver. The Server also does NFS Exports of the 
same Volumes to other Debian Etch Linux Servers around because we have 
WINDOWS AND LINUX Users using the same files on the fileserver. So some 
access the Server via WINDOWS/SAMBA, some access the Files via 
KDE/Linux/NFS.

For Access-Controll we use Linux ACLs (getfacl / setfacl) and 
Group-Memberships. Therefor we mounted the Data-Volume with "acl" 
parameter. ACLs seems to work fine in any way.

The Problem:
############

Whenever a Linux User creates a File on the Data-Volume, the User itself 
becomes "owner", but the file receives the ACLs as defined by the 
"default ACLs" of the parent directory. So anything looks fine with 
Linux created files yet.

Whenever a Windows User creates a file at the same location, the new 
File belongs to "root"  and Group "Domain Users". Me and my Users would 
expect the new File would belong to the Creator (User). But for some 
reason this is not Happening here. This is just a "cosmetic" problem. 
but it confuses the users, because they rely on the user and group owner 
informations.


Any Ideas of why is that??? Im lost.
Oh BTW: if i creat a new file within my homedirectory via SAMBA, the 
file gets the correct owner (wernera).

THANKS A LOT FOR ANY HELP!
greetings
Axel [ mail (at) awerner.homeip.net ]




For those who whats to analyse my problem, here are my configs and demo:


DEMO
========

zksfs:/data1/LW-I/Dokumente# ls -la
total 100
drwxrwx---+ 22 root root         4096 2009-09-11 09:25 .
drwxrwx---+ 24 root root         4096 2009-08-18 14:42 ..
drwxrwx---+  2 root root         4096 2009-09-09 14:31 xxxxxxxx
drwxrwx---+  7 root root         4096 2009-03-19 16:59 xxxxxxxxg
drwxrwx---+  2 root root         4096 2009-05-06 09:57 xxxxxxxxterbefragung
drwxrwx---+  3 root root         4096 2009-09-11 09:10 xxxxxxx
drwxrwx---+ 17 root root         4096 2009-08-04 16:03 xxxxxxxxiat_fuer_alle
-rwxrwx---+  1 root Domain Users    7 2009-09-11 09:23 
wernera-test-20090911.txt
zksfs:/data1/LW-I/Dokumente#

The file "wernera-test-20090911.txt" is created by myself via Windows XP 
Workstation on that volume, while i was logged in @ windows as "wernera"


ACLs of /data1/LW-I/Dokumente look like this:


# file: data1/LW-I/Dokumente/
# owner: root
# group: root
user::rwx
group::rwx
group:hiwi:r-x
group:Domain\040Admins:rwx
group:everyone-zks:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:Domain\040Admins:rwx
default:group:everyone-zks:rwx
default:mask::rwx
default:other::---


ACLs of the new File looks like this:


zksfs:/data1/LW-I/Dokumente# getfacl wernera-test-20090911.txt
# file: wernera-test-20090911.txt
# owner: root
# group: Domain\040Users
user::rwx
group::rwx
group:Domain\040Admins:rwx
group:everyone-zks:rwx
mask::rwx
other::---

zksfs:/data1/LW-I/Dokumente#


Here is my SHORT smb.conf :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[global]
    workgroup = ZKS
    server string =
    obey pam restrictions = Yes
    passdb backend = ldapsam:"ldap://zksfs.somedomain.de"
    check password script = /sbin/crackcheck -c -d 
/var/cache/cracklib/cracklib_dict
    log level = 0 auth:3
    syslog = 1000
    syslog only = Yes
    log file = /var/log/samba/samba.log
    max log size = 10000
    debug pid = Yes
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    show add printer wizard = No
    add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
    logon script = scripts\logon.cmd
    logon path =
    logon drive = h:
    logon home = \\zksfs\%U
    domain logons = Yes
    os level = 66
    dns proxy = No
    wins support = Yes
    ldap admin dn = cn=admin,dc=some,dc=domain,dc=de
    ldap group suffix = ou=groups
    ldap idmap suffix = ou=idmap
    ldap machine suffix = ou=people
    ldap suffix = dc=some,dc=domain,dc=de
    ldap ssl = start tls
    ldap user suffix = ou=people
    panic action = /usr/share/samba/panic-action %d
    inherit acls = Yes
    inherit owner = Yes

[homes]
    comment = Home Directories
    valid users = %S
    read only = No
    create mask = 0700
    directory mask = 0700
    browseable = No

[netlogon]
    comment = Network Logon Service
    path = /home/netlogon
    admin users = root
    write list = @itadmin, root, Administrator, @Domain, Admins
    guest ok = Yes

[I]
    comment = Net Drive I
    path = /data1/LW-I/
    read only = No
    create mask = 0770
    directory mask = 0770


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




This is the LONG Version of smb.conf ( testparm -sv ) including Default 
Values.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[global]
    dos charset = CP850
    unix charset = UTF-8
    display charset = LOCALE
    workgroup = ZKS
    realm =
    netbios name = ZKSFS
    netbios aliases =
    netbios scope =
    server string =
    interfaces =
    bind interfaces only = No
    config backend = file
    security = USER
    auth methods =
    encrypt passwords = Yes
    update encrypted = No
    client schannel = Auto
    server schannel = Auto
    allow trusted domains = Yes
    map to guest = Never
    null passwords = No
    obey pam restrictions = Yes
    password server = *
    smb passwd file = /etc/samba/smbpasswd
    private dir = /etc/samba
    passdb backend = ldapsam:"ldap://zksfs.somedomain.de"
    algorithmic rid base = 1000
    root directory =
    guest account = nobody
    enable privileges = Yes
    pam password change = No
    passwd program =
    passwd chat = *new*password* %n\n *new*password* %n\n *changed*
    passwd chat debug = No
    passwd chat timeout = 2
    check password script = /sbin/crackcheck -c -d 
/var/cache/cracklib/cracklib_dict
    username map =
    password level = 0
    username level = 0
    unix password sync = No
    restrict anonymous = 0
    lanman auth = No
    ntlm auth = Yes
    client NTLMv2 auth = No
    client lanman auth = No
    client plaintext auth = No
    preload modules =
    use kerberos keytab = No
    log level = 0 auth:3
    syslog = 1000
    syslog only = Yes
    log file = /var/log/samba/samba.log
    max log size = 10000
    debug timestamp = Yes
    debug prefix timestamp = No
    debug hires timestamp = No
    debug pid = Yes
    debug uid = No
    debug class = No
    enable core files = Yes
    smb ports = 445 139
    large readwrite = Yes
    max protocol = NT1
    min protocol = CORE
    min receivefile size = 0
    read raw = Yes
    write raw = Yes
    disable netbios = No
    reset on zero vc = No
    acl compatibility = auto
    defer sharing violations = Yes
    nt pipe support = Yes
    nt status support = Yes
    announce version = 4.9
    announce as = NT
    max mux = 50
    max xmit = 16644
    name resolve order = lmhosts wins host bcast
    max ttl = 259200
    max wins ttl = 518400
    min wins ttl = 21600
    time server = No
    unix extensions = Yes
    use spnego = Yes
    client signing = auto
    server signing = No
    client use spnego = Yes
    client ldap sasl wrapping = plain
    enable asu support = No
    svcctl list =
    deadtime = 0
    getwd cache = Yes
    keepalive = 300
    lpq cache time = 30
    max smbd processes = 0
    paranoid server security = Yes
    max disk size = 0
    max open files = 10000
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    use mmap = Yes
    hostname lookups = No
    name cache timeout = 660
    ctdbd socket =
    cluster addresses =
    clustering = No
    load printers = Yes
    printcap cache time = 750
    printcap name =
    cups server =
    iprint server =
    disable spoolss = No
    addport command =
    enumports command =
    addprinter command =
    deleteprinter command =
    show add printer wizard = No
    os2 driver map =
    mangling method = hash2
    mangle prefix = 1
    max stat cache size = 256
    stat cache = Yes
    machine password timeout = 604800
    add user script =
    rename user script =
    delete user script =
    add group script =
    delete group script =
    add user to group script =
    delete user from group script =
    set primary group script =
    add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
    shutdown script =
    abort shutdown script =
    username map script =
    logon script = scripts\logon.cmd
    logon path =
    logon drive = h:
    logon home = \\zksfs\%U
    domain logons = Yes
    os level = 66
    lm announce = Auto
    lm interval = 60
    preferred master = No
    local master = Yes
    domain master = Auto
    browse list = Yes
    enhanced browsing = Yes
    dns proxy = No
    wins proxy = No
    wins server =
    wins support = Yes
    wins hook =
    kernel oplocks = Yes
    lock spin time = 200
    oplock break wait time = 0
    ldap admin dn = cn=admin,dc=some,dc=domain,dc=de
    ldap delete dn = No
    ldap group suffix = ou=groups
    ldap idmap suffix = ou=idmap
    ldap machine suffix = ou=people
    ldap passwd sync = no
    ldap replication sleep = 1000
    ldap suffix = dc=some,dc=domain,dc=de
    ldap ssl = start tls
    ldap timeout = 15
    ldap connection timeout = 2
    ldap page size = 1024
    ldap user suffix = ou=people
    ldap debug level = 0
    ldap debug threshold = 10
    eventlog list =
    add share command =
    change share command =
    delete share command =
    config file =
    preload =
    lock directory =
    pid directory = /var/run/samba
    utmp directory =
    wtmp directory =
    utmp = No
    default service =
    message command =
    get quota command =
    set quota command =
    remote announce =
    remote browse sync =
    socket address = 0.0.0.0
    homedir map = auto.home
    afs username map =
    afs token lifetime = 604800
    log nt token command =
    time offset = 0
    NIS homedir = No
    registry shares = No
    usershare allow guests = No
    usershare max shares = 100
    usershare owner only = Yes
    usershare path = /var/lib/samba/usershares
    usershare prefix allow list =
    usershare prefix deny list =
    usershare template share =
    panic action = /usr/share/samba/panic-action %d
    host msdfs = Yes
    passdb expand explicit = No
    idmap domains =
    idmap backend =
    idmap alloc backend =
    idmap cache time = 900
    idmap negative cache time = 120
    idmap uid =
    idmap gid =
    template homedir = /home/%D/%U
    template shell = /bin/false
    winbind separator = \
    winbind cache time = 300
    winbind enum users = No
    winbind enum groups = No
    winbind use default domain = No
    winbind trusted domains only = No
    winbind nested groups = Yes
    winbind expand groups = 1
    winbind nss info = template
    winbind refresh tickets = No
    winbind offline logon = No
    winbind normalize names = No
    winbind rpc only = No
    comment =
    path =
    username =
    invalid users =
    valid users =
    admin users =
    read list =
    write list =
    printer admin =
    force user =
    force group =
    read only = Yes
    acl check permissions = Yes
    acl group control = No
    acl map full control = Yes
    create mask = 0744
    force create mode = 00
    security mask = 0777
    force security mode = 00
    directory mask = 0755
    force directory mode = 00
    directory security mask = 0777
    force directory security mode = 00
    force unknown acl user = No
    inherit permissions = No
    inherit acls = Yes
    inherit owner = Yes
    guest only = No
    administrative share = No
    guest ok = No
    only user = No
    hosts allow =
    hosts deny =
    allocation roundup size = 1048576
    aio read size = 0
    aio write size = 0
    aio write behind =
    ea support = No
    nt acl support = Yes
    profile acls = No
    map acl inherit = No
    afs share = No
    smb encrypt = auto
    block size = 1024
    change notify = Yes
    directory name cache size = 100
    kernel change notify = Yes
    max connections = 0
    min print space = 0
    strict allocate = No
    strict sync = No
    sync always = No
    use sendfile = No
    write cache size = 0
    max reported print jobs = 0
    max print jobs = 1000
    printable = No
    printing = cups
    cups options =
    print command =
    lpq command = %p
    lprm command =
    lppause command =
    lpresume command =
    queuepause command =
    queueresume command =
    printer name =
    use client driver = No
    default devmode = Yes
    force printername = No
    printjob username = %U
    default case = lower
    case sensitive = Auto
    preserve case = Yes
    short preserve case = Yes
    mangling char = ~
    hide dot files = Yes
    hide special files = No
    hide unreadable = No
    hide unwriteable files = No
    delete veto files = No
    veto files =
    hide files =
    veto oplock files =
    map archive = Yes
    map hidden = No
    map system = No
    map readonly = yes
    mangled names = Yes
    store dos attributes = No
    dmapi support = No
    browseable = Yes
    blocking locks = Yes
    csc policy = manual
    fake oplocks = No
    locking = Yes
    oplocks = Yes
    level2 oplocks = Yes
    oplock contention limit = 2
    posix locking = Yes
    strict locking = Auto
    share modes = Yes
    dfree cache time = 0
    dfree command =
    copy =
    include =
    preexec =
    preexec close = No
    postexec =
    root preexec =
    root preexec close = No
    root postexec =
    available = Yes
    volume =
    fstype = NTFS
    set directory = No
    wide links = Yes
    follow symlinks = Yes
    dont descend =
    magic script =
    magic output =
    delete readonly = No
    dos filemode = No
    dos filetimes = Yes
    dos filetime resolution = No
    fake directory create times = No
    vfs objects =
    msdfs root = No
    msdfs proxy =

[homes]
    comment = Home Directories
    valid users = %S
    read only = No
    create mask = 0700
    directory mask = 0700
    browseable = No

[netlogon]
    comment = Network Logon Service
    path = /home/netlogon
    admin users = root
    write list = @itadmin, root, Administrator, @Domain, Admins
    guest ok = Yes

[I]
    comment = Net Drive I
    path = /data1/LW-I/
    read only = No
    create mask = 0770
    directory mask = 0770

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



More information about the samba mailing list