Os compartilhamentos do Samba são somente leitura do Windows e do Linux

3
Estou tentando configurar o Samba em execução no Gentoo Linux para compartilhar minha unidade NTFS externa com duas outras máquinas, uma executando o Gentoo e outra executando o Windows 7. Anteriormente essa unidade estava conectada a um roteador habilitado para Samba (Zyxel Keenetic Giga II) e eu poderia conectar-me a ele usando o par login / pass especificado na interface da web. Eu tinha acesso de leitura e gravação.

Agora estou tentando configurar o Samba para permitir que qualquer pessoa que especifique o par login / senha válido tenha acesso total. O login / passe é único (não uso esse nome de usuário em nenhum outro lugar).

Consegui conectar máquinas Linux e Windows, mas apenas no modo somente leitura. Eu recebo Permission denied em todas as tentativas de gravação, mesmo que as permissões de ls mostrem que eu deveria ser capaz de escrever.

A estrutura da rede é:

  • sambaserv: nome do host do servidor Samba
    • sambauser/sambapass: credenciais de login do Samba
    • myuserserv: meu login de usuário
  • linuxclient: nome do host do cliente Linux
    • myuserclient: meu login de usuário
  • winclient: Win 7 nome do host do cliente

Veja o que eu fiz:

sambaserv: ls -l /mnt

...
drwxrwxr-x 1 myuserserv myuserserv 4096  2 June  01:08 storage

sambaserv: /etc/fstab

/dev/sdc1    /mnt/storage    ntfs-3g    defaults,uid=1000,gid=1000,umask=0002,noatime 0 0

Aqui 1000 é o ID de myuserserv . Gostaria de usar essa unidade para outros fins que não o compartilhamento do Samba, portanto, não especifiquei sambauser .

sambaserv: criou sambauser emitindo estes comandos:

useradd sambauser
passwd sambauser
pdbedit -a -u sambauser

sambaserv: testparm

$ sudo testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[storage]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        server string = sambaserv
        log file = /var/log/samba/log.%m
        max log size = 50
        dns proxy = No
        idmap config * : backend = tdb
        hosts allow = 192.168.1., 127.

[storage]
        comment = Storage
        path = /mnt/storage
        valid users = sambauser
        read only = No
        create mask = 0775
        directory mask = 0775

Eu não tenho ideia de como as permissões de arquivo são tratadas, considerando que a unidade é NTFS, mas isso não seria problema se não fosse.

linuxclient: ls -l /mnt

...
drwxrwxr-x 1 myuserclient myuserclient  0  2 juin  01:08 storage

linuxclient: /etc/fstab

//sambaserv/storage    /mnt/storage    cifs    credentials=/home/myuserclient/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

winclient: digitou o par sambauser/sambapass em Connect network drive em My Computer .

Como obtenho acesso de gravação no Linux e no Windows?

    
por Pastafarianist 02.06.2015 / 15:58

2 respostas

0

Eu fui apontado para uma solução (não a solução). Se eu adicionar sambauser ao grupo de myusersrv on sambaserv , o problema desaparece. No entanto, esta não é uma boa solução, porque requer mexer com grupos de usuários, o que eu não poderia ter feito em um ambiente diferente.

    
por 03.06.2015 / 01:15
0
As permissões

Arquivo e compartilhamento não estão relacionadas entre si e você precisa defini-las individualmente. Você precisa de uma linha como essa em smb.conf para permitir acesso de gravação ao compartilhamento:

write list = sambauser

Veja a página do manual smb.conf os detalhes.

    
por 02.06.2015 / 16:58