Questão Como faço para mapear 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) eu tenho contas de usuário com nome de usuário e senhas correspondentes. (mito / mito)

A partilha é montada com:

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

Eu posso criar, ler e excluir arquivos no compartilhamento. Eu não posso editar ou sobrescrevê-los.

Eles são criados como:

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

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

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

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

4
2018-03-18 19:16


origem


Além disso, quando tiver uma chance, execute o sudo testparm /etc/samba/smb.conf e veja se ele relata algum erro. - Aaron
Basta saber, mas por que o usuário "nobody" está listado como um usuário inválido e válido ... DUAS VEZES (em cada lista)? Também nas listas de acesso de leitura / gravação na parte inferior. Eu estou pensando que você pode se livrar disso. - Aaron
Não é possível editá-lo, é gerado pela interface gráfica. Quero dizer, eu provavelmente poderia, mas diabos eu não vou. Se estiver errado, eu vou buscar Synology para consertar seu sistema operacional. Isso é o que eu paguei depois de tudo! - RoboJ1M
Tente comparar este smb.conf com o que funciona, se puder. - Aaron


Respostas:


O que você quer 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 "username map" para o local do arquivo do mapa.

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

O usermap.txt (ou o que você quiser chamá-lo) contém linhas formatadas no estilo de mapTo = 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 você precisar de ajuda extra, confira os documentos abaixo. A documentação oficial do Samba (abaixo) demonstra como mapear vários nomes de usuários para um único usuário, ou até mesmo grupos para usuários.

http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#USERNAMEMAP http://www.devshed.com/c/a/Administration/Handling-User-Accounts-in-Samba/1/


4
2018-03-18 19:50



Por isso, nem sequer mapeará automaticamente o mito do usuário do Windows para o mito do usuário do Ubuntu? - RoboJ1M
E como eu atualizaria a configuração? Desmontar e remontar o compartilhamento? Reboot? Existe um serviço de samba para reiniciar? - RoboJ1M
Na verdade, isso deve funcionar desde que os nomes de usuário e senhas sejam idênticos. Deve haver algo mais acontecendo ... você poderia editar sua pergunta com a definição de compartilhamento do seu smb.conf? - Aaron
@ RoboJ1M edição feita para o comando de reinicialização. - Aaron