[Samba] Expanding on post "Domain member login"

Rowland Penny rpenny at samba.org
Wed Jun 4 14:52:42 UTC 2025


On Wed, 4 Jun 2025 16:39:18 +0200
Peter Milesson via samba <samba at lists.samba.org> wrote:

> Hi folks,
> 
> I have got a few client Linux PCs that are used to mount user
> profiles on a CIFS server (Samba or Windows) with pam_mount. The user
> profiles are mounted on /home/<DOMAINUSER>, and the directory
> /home/<DOMAINUSER> is created by pam_mount, before the mounting
> itself (I assume). The problem is, that the user's mounted directory,
> and all sub directories get the permission 755, when one would expect
> 700.
> 
> Through this, it would be possible for another domain user to log on
> to the same PC and access the data of the previously logged in user.
> I have tried, and I can access data from another user. On the CIFS
> server only the owner (domain user), SYSTEM, Domain Admins, and
> Administrator have got permissions on the user's profile directory,
> how this then translates to 755 in the mounted directory is to me a
> mystery. When the user logs out, the /home/<DOMAINUSER> is unmounted,
> and is ideally deleted (not always, but nothing remains there after
> logoff).
> 
> I have tried to set pam_mkhomedir.so umask=0077 in 
> /etc/pam.d/common-session, but that did not help (which probably was 
> expected). I have also tried to set mount options, neither that did
> help.
> 
> The client OS info, smb.conf, pam_mount.conf.xml, and common-session 
> from pam below.
> 
> If somebody could point me in the right direction, I would be
> grateful.
> 
> Best regards,
> 
> Peter
> 
> *OS*
> Debian Bookworm 12.11 (important parts of the OS from backports)
> Samba 4.22.1 from backports
> 
> 
> */etc/samba/smb.conf*
> [global]
>          dedicated keytab file = /etc/krb5.keytab
>          disable netbios = Yes
>          disable spoolss = Yes
>          kerberos method = secrets and keytab
>          log level = 1
>          printcap name = /dev/null
>          realm = PRIVATE.TALPS
>          security = ADS
>          server role = member server
>          smb ports = 445
>          template homedir = /home/%U
>          template shell = /bin/bash
>          timestamp logs = Yes
>          username map = /etc/samba/user.map
>          winbind expand groups = 4
>          winbind refresh tickets = Yes
>          winbind use default domain = Yes
>          workgroup = PRIVATE
>          acl_xattr:ignore system acls = yes
>          idmap config * : backend = tdb
>          idmap config * : range = 3000-9999
>          idmap config private : backend = rid
>          idmap config private : range = 10000-99999
>          map acl inherit = Yes
>          vfs objects = acl_xattr
> 
> 
> */etc/security/pam_mount.conf.xml*
> <?xml version="1.0" encoding="utf-8" ?>
> <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
> <!--
>          See pam_mount.conf(5) for a description.
> -->
> 
> <pam_mount>
> 
>                  <!-- debug should come before everything else,
>                  since this file is still processed in a single pass
>                  from top-to-bottom -->
> 
> <debug enable="0" />
> 
>                  <!-- Volume definitions -->
> <volume user="*"
>          fstype="cifs"
>          server="datasrv.private.talps"
>          path="linuxhomes$/%(DOMAIN_USER)"
>          mountpoint="/home/%(DOMAIN_USER)"
>          uid="10000-999999"
> options="nosuid,nodev,sec=krb5i,cruid=%(USERUID),mfsymlinks,nobrl,vers=3.0" 

Have you tried adding 'dir_mode=0700' to the 'options line ?

Rowland



More information about the samba mailing list