Permissões do Samba - Vou jogar!

4

Estou tentando configurar um compartilhamento de samba na minha caixa Ubuntu 8.04 LTS, para ser consumido pelos meus clientes mac e windows.

Eu criei um grupo 'samba' e adicionei meus usuários linux a eles, dei-lhes senhas samba, eu posso conectar e colocar arquivos, tudo é peachy exceto as permissões.

BTW, o compartilhamento inicial padrão foi completamente removido para garantir que não seja conflitante.

[archive]
path = /home/archive
read only = no
guest ok = yes
browseable = yes
create mode = 0664
directory mode = 0775
force group = samba

O objetivo é que seja legível pelos convidados, controle total para os usuários de samba. Quando um usuário não convidado coloca um arquivo no compartilhamento de arquivo, ele tem o grupo correto de 'samba', mas as permissões são 644 em vez das 664 pretendidas.

Eu tentei alterar o modo de criação e o modo de diretório para criar máscara e máscara de diretório, e cada combinação com a palavra de força na frente deles.

Não sei porque isso não está dando certo, qualquer ajuda é apreciada.

Publicando meu arquivo smb.conf inteiro:

[global]
 workgroup = EXAMPLE
 server string = %h
 map to guest = Bad User
 obey pam restrictions = Yes
 passdb backend = tdbsam
 pam password change = Yes
 passwd program = /usr/bin/passwd %u
 passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
 unix password sync = Yes
 syslog = 0
 log file = /var/log/samba/log.%m
 max log size = 1000
 dns proxy = No
 usershare allow guests = Yes
 panic action = /usr/share/samba/panic-action %d
 invalid users = root
 force create mode = 0664
 force directory mode = 0775

[printers]
 comment = All Printers
 path = /var/spool/samba
 create mask = 0700
 printable = Yes
 browseable = No

[print$]
 comment = Printer Drivers
 path = /var/lib/samba/printers

[archive]
 path = /home/archive
 force group = samba
 read only = No
 create mask = 0664
 directory mask = 0775

[server_backups]
 path = /home/server_backups
 force user = root
 force group = samba
 read only = No
 create mask = 0664
 directory mask = 0775

Obrigado,

    
por Gray 09.12.2009 / 19:56

2 respostas

1

Isso pode ajudar. Eu faço algo semelhante, mas apenas um compartilhamento é aberto aos usuários do grupo. Outros compartilhamentos são somente leitura, exceto para um único usuário mantenedor. A seção [global] do meu smb.conf é quase idêntica à sua, exceto que eu não uso as diretivas force create / directory mode (no meu caso, eles interfeririam nas outras ações).

Veja a definição de compartilhamento:

[shared stuff]
        comment = blah, blah, etc
        path = /path/to/share
        write list = @sambagroup
        force group = +sambagroup
        read only = yes
        directory mask = 0775
        create mask = 0664
        guest ok = yes
        invalid users = root
        case sensitive = True
        default case = lower
        preserve case = yes
        short preserve case = yes

As coisas importantes aqui são estas:

  • read only = yes - por padrão, somente leitura.
  • guest ok = yes - os convidados podem navegar.
  • write list = @sambagroup - Membros autenticados do sambagroup podem escrever.
  • force group = +sambagroup - O + significa que a força se aplica apenas aos membros existentes do sambagrupo. Eles já são os únicos que podem escrever. Eu acho que, sem o +, convidado recebe credenciais sambagroup , o que não é desejado (particularmente com a diretiva lista de gravação acima).
  • directory mask = 0775
  • create mask = 0664

Eles fazem exatamente o que você quer que o seu faça: "drwxrwxr-x" nos diretórios, "rwxrwxr-x" nos arquivos e arquivos recém-criados são de propriedade do usuário e do sambagroup . Os mantenedores dos outros compartilhamentos obtêm as mesmas permissões que todos os outros quando trabalham em material compartilhado , e permissões & grupos são normais quando trabalham nos outros compartilhamentos.

Meu smb.conf vem trabalhando com pequenos ajustes através de várias versões diferentes do Samba, e atualmente é usado com o Samba 3.2.5. Eu nunca o executei no Ubuntu 8.04, mas ele rodou no Ubuntu 7.04 por um longo tempo antes de migrar para uma instalação recente do Debian Lenny.

    
por 10.01.2010 / 05:48
1

Eu não estou perto de uma configuração ativa do Samba agora, então não posso verificar se ele está por padrão nas instalações do Ubuntu. Dito isso, dê uma olhada no seu smb.conf e veja se há uma instrução "create mask" em qualquer lugar. Você pode encontrá-lo definido como 022, e você precisa apagar o bit do grupo (definido como 002 ou apenas nuke a linha inteira).

Note também que "modo de criação" é sinônimo de "criar máscara".

    
por 09.12.2009 / 20:07