Ubuntu – How to map users with a samba share

fstabmountsamba

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

Best Answer

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