Como mapeio usuários com um compartilhamento de samba?

Como mapeio usuários com um compartilhamento de samba?

Eu tenho um Synology Diskstation com um compartilhamento de janelas publicado. Tanto no servidor quanto no cliente (Ubuntu 12.04) tenho contas de usuário com nome de usuário e senhas correspondentes. (mito/mito)

O compartilhamento é montado com:

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

Posso criar, ler e excluir arquivos no compartilhamento. Não consigo editá-los ou substituí-los.

Eles são criados como:

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

O servidor (Synology DiskStation, rodando DSM4.1, seu próprio tipo de Linux) tem um usuário chamado mito. O cliente (Ubuntu 12.04) possui um usuário chamado mito. Ambas as contas têm senhas idênticas.

Então, parece que de alguma forma preciso mapear o uid 1026 para o mito do usuário? Como faço isso?

smb.conf do 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

Responder1

O que você deseja fazer é configurar um arquivo de mapa de nome de usuário do Samba.

Na seção [Global] do seu arquivo /etc/samba/smb.conf, você pode definir a opção "mapa de nome de usuário" para o local do arquivo de mapa.

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

O usermap.txt (ou como você quiser chamá-lo) contém linhas formatadas no estilo demapTo = mapFrom. Por exemplo, se eu quisesse ter certeza de que meu usuário na minha caixa do Windows poderia acessar meu compartilhamento Samba na minha máquina Ubuntu, meu arquivo usermap.txt teria uma linha como esta:

myUbuntuUserName = myWindowsUserName

Claro, para ver essas mudanças você precisará reiniciar o serviço Samba.

sudo service smbd restart

Se precisar de ajuda extra, verifique os documentos abaixo. A documentação oficial do Samba (abaixo) demonstra como mapear vários nomes de usuário para um único usuário, ou mesmo grupos para usuários.

mapa de nome de usuário (G)

Mapas de nome de usuário - Administração

informação relacionada