How do I map users with a samba share?

51,678

What you want to do is set up a Samba username map file.

In the [Global] section of your /etc/samba/smb.conf file, you can set the "username map" option to the location of the map file.

[global]
    username map = /pathToMapFile/usermap.txt

The usermap.txt (or whatever you want to call it) contains lines formatted in the style of mapTo = mapFrom. For example, if I wanted to make sure that my user on my Windows box could hit my Samba share on my Ubuntu machine, my usermap.txt file would have a line like this:

myUbuntuUserName = myWindowsUserName

Of course, to see these changes you'll need to restart the Samba service.

sudo service smbd restart

If you need extra help, check out the docs below. The official Samba documentation (below) demonstrates how to map multiple usernames to a single user, or even groups to users.

username map (G)

Username Maps - Administration

Share:
51,678

Related videos on Youtube

RoboJ1M
Author by

RoboJ1M

@RoboJ1M

Updated on September 18, 2022

Comments

  • RoboJ1M
    RoboJ1M almost 2 years

    I have a Synology Diskstation with a published windows share. On both the server and the client (Ubuntu 12.04) I have user accounts with matching username and passwords. (myth/myth)

    The share is mounted with:

    //192.168.88.1/plex  /mnt/plex  cifs  username=myth,password=xxxx  0  0
    

    I can create, read and delete files on the share. I can't edit or overwrite them.

    They get created as:

    -rw-rw-r-- 1 1026 users  725178368 Mar 18 13:12
    

    The server (Synology DiskStation, running DSM4.1, their own flavour of Linux) has a user called myth. The client (Ubuntu 12.04) has a user called myth. Both account have identical passwords.

    So, it seems somehow I need to map uid 1026 to the user myth? How do I do that?

    smb.conf from the DiskStation:

    [global]
        printcap name=cups
        winbind enum groups=yes
        security=user
        local master=no
        realm=*
        passdb backend=smbpasswd
        printing=cups
        winbind enum users=yes
        load printers=yes
        workgroup=WORKGROUP
    [plex]
        invalid users=nobody,nobody
        valid users=nobody,guest,admin,myth,nobody
        comment="Storage Location For PlexMediaServer"
        path=/volume1/plex
        guest ok=yes
        browseable=yes
        fileindex=yes
        mediaindex=no
        edit synoacl=no
        enable recycle bin=yes
        recycle bin admin only=no
        hide unreadable=no
        ftp disable list=no
        ftp disable modify=no
        ftp disable download=no
        read list=nobody,guest,nobody
        write list=nobody,admin,myth,nobody
        writeable=yes
    
    • Aaron
      Aaron over 11 years
      Just wondering, but why is the "nobody" user listed as both an invalid and valid user...TWICE (in each list)? Also in the read/write access lists at the bottom. I'm thinking that you can get rid of that.
    • RoboJ1M
      RoboJ1M over 11 years
      Can't edit it, it's generated by the graphical interface. I mean, I probably could, but hell no I'm not going to. If it's wrong, I'll get Synology to fix their OS. That's what I paid for after all!
    • Aaron
      Aaron over 11 years
      Try comparing this smb.conf to the one that works, if you can.
  • RoboJ1M
    RoboJ1M over 11 years
    And how would I refresh the config? Unmount and remount the share? Reboot? Is there a samba service to restart?
  • Aaron
    Aaron over 11 years
    Actually, that should work as long as the usernames and passwords are identical. There must be something else going on...could you edit your question with the share definition from your smb.conf?
  • Aaron
    Aaron over 11 years
    @RoboJ1M edit made for restart command.
  • RoboJ1M
    RoboJ1M over 5 years
    And five years later I remember to tick the Correct Answer button! (oops)
  • John Strood
    John Strood over 5 years
    @Aaron can it also be given a new password?