Samba: configurando um compartilhamento com permissões de gravação para todos, mapeado como um usuário específico

0

Eu tenho a seguinte configuração para o samba:

[global]
  workgroup = WORKGROUP
  netbios name = z
  log level = 0 vfs:0
  syslog = 0
  max log size = 0
  load printers = No
  printcap name = /dev/null
  disable spoolss = Yes
  preload = share
  default service = share
  guest ok = Yes
  security = user
  map to guest = Bad User
  guest account = ibm86

E a seguinte parte:

[data]
  force group = ibm86
  path = /data
  writeable = yes
  guest ok = yes
  browseable = yes

Estou tentando compartilhar o diretório /data na minha rede para ser gravável por todos.

Agora, posso ler todos os arquivos no disco, mas não posso escrever em lugar algum. Do Windows eu recebo "Você precisa de permissão para executar esta ação".

Como usuário mapeado, posso ler / escrever neste diretório sem problemas:

[ibm86@z ~]$ stat /data
  File: ‘/data’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 900h/2304d      Inode: 2           Links: 7
Access: (0755/drwxr-xr-x)  Uid: ( 1000/   ibm86)   Gid: ( 1000/   ibm86)
Access: 2015-04-03 05:09:28.631608867 +0300
Modify: 2015-04-03 05:03:58.843604604 +0300
Change: 2015-04-03 05:09:22.783608792 +0300
 Birth: -

[ibm86@z ~]$ cd /data
[ibm86@z /data]$ touch a
[ibm86@z /data]$ ls -l a
-rw-rw-r-- 1 ibm86 ibm86 0 Apr  3 05:23 a

Então, o que dá? O que estou fazendo de errado? Isso costumava funcionar perfeitamente com security = share , mas desde que o Ubuntu atualizou do Samba 2.x, isso não funcionou. Atualmente estou no Version 4.1.6-Ubuntu .

    
por Znuff 03.04.2015 / 04:25

1 resposta

0

você também precisa adicionar force user = someusername . Como está na sua configuração atual, as permissões do arquivo unix não permitem que um usuário altere o arquivo de outros usuários. Se você quer que usuários diferentes consigam escrever em todos os arquivos em um compartilhamento, você precisa forçar tanto o usuário quanto o grupo, para que todos os arquivos em compartilhamento sejam de propriedade do mesmo usuário, que então terá permissão para escrever. Eu costumo fazer (o nome do usuário e do grupo dependerá da sua distribuição, mas geralmente é de nobody / noone / nogroup / nouser):

force user = nobody
force group = nogroup
    
por 12.03.2016 / 16:05