Como fazer com que o Samba compartilhe para NÃO SOLICITAR PASSWORD

15

NOTA: Eu li provavelmente até 50 páginas diferentes descrevendo como configurar o compartilhamento público do Samba no espaço de 2 ANOS e nada nunca funcionou para mim. Não sei quanto RTFM preciso para definir essas coisas.

Eu preciso / quero configurar um compartilhamento de arquivos público completamente aberto no meu servidor doméstico para duas estações de trabalho.

A configuração é a seguinte:

Servidor :

  • Debian Wheezy
  • sudo smbd --version me dá Version 3.6.6 .
  • 2 partições locais que eu quero compartilhar, formatadas em NTFS por serem antigas e tiradas da máquina Windows. Eu não posso formatá-los para ext * FS porque eles têm muitos dados que eu não posso (ainda) mover em nenhum outro lugar.
  • máquina chamada "homeserv" por falta de originalidade.

Cliente :

  1. Teste Debian (Jessie)
  2. Windows 7 (2 máquinas diferentes). De fato, minha máquina é dualboot Debian / Windows, e a máquina da minha esposa é somente Windows.

Meu smb.conf após a destilação se parece com o seguinte ( verbatim , nada mais está lá):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

Em ambas as máquinas cliente, tanto no Debian quanto no Windows, eu obtenho o mesmo resultado: diálogo de login / senha. NENHUMA COMBINAÇÃO de security = user , map to guest = Bad user , security = share , guest ok = yes e tal ajudou.

O Windows 7 mostra a caixa de diálogo de login / senha logo depois que eu clico na máquina compartilhada na vizinhança da rede. O caminho do arquivo smb://homeserv/ no Debian (em qualquer navegador de arquivos) mostra duas pastas: disk1 e disk2 , como pretendido, tentando abri-las traga o diálogo login / senha.

Então, o que falta no esquema para não ter que digitar login / senha? Esta é uma questão de usabilidade, não vou criar uma autenticação baseada em usuário para junkyard de arquivos.

    
por hijarian 23.09.2014 / 19:13

3 respostas

10

OK, eu mesmo encontrei uma resposta.

Como isso é absolutamente não óbvio nos documentos e HOWTOs e o que for, a razão pela qual isso pede senha é porque não é possível mapear o usuário convidado para o proprietário do diretório que está sendo compartilhado .

Eu tenho partições NTFS que eu preciso montar o RW, então eu usei a seguinte configuração no meu /etc/fstab :

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

As partes mais importantes da configuração são uid e gid (talvez apenas uid , não sei). Eles estão definidos para o UID e GID do usuário jonnie configurado no servidor (obviamente não é root). Então, quando o ntfs-3g montar esses discos, tudo será propriedade dele.

Depois disso, eu adicionei este usuário ao registro do Samba (ou talvez criei um novo idêntico, não me importo):

# smbpasswd -a jonnie

Ele pediu senha, eu digitei o mesmo que para o sistema principal.

Depois disso, adicionei as configurações force user e force group ao smb.conf :

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Então, a parte mais importante de configuração relevante para mim foi force user .

Cortesia do Samba HOWTO

    
por 30.09.2014 / 04:53
1

A maneira rápida e suja de ter um compartilhamento Samba aberto é:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

e ter ações definidas como tal:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Reinicie o daemon.

Para clientes do Windows 7, a partir de 2014, precisei definir a política de domínio: assine digitalmente as comunicações de sempre para DISABLE.

    
por 23.09.2014 / 20:31
1

A configuração pode ser mais curta:

Crie jonnie de usuário unix

useradd jonnie -s /usr/sbin/nologin

Crie o smbuser

smbpasswd -a jonnie

Crie o diretório Linux para compartilhar

mkdir /mysmbshare

Altere o proprietário do diretório para jonnie

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Todos os arquivos são de propriedade de jonnie e todos têm acesso rw aos arquivos.

    
por 23.01.2017 / 17:47