O usuário do Samba force não trabalha

2

Estou usando o Samba 3.6.6 no Debian Wheezy.

Eu quero poder alterar os arquivos www em meu servidor dev usando meu macbook. Então eu configurei o samba e fiz um compartilhamento para o diretório / var / www.

Eu adicionei os usuários bart & raiz para samba para se conectar. E conecte usando o comando K e depois smb: //192.168.2.100 (meu servidor samba).

Como o apache usa o www-data como usuário e grupo para os arquivos www, eu uso o force force e force group no samba para evitar erros nos direitos.

No entanto, isso força o grupo www-data, mas não força o usuário. Todo arquivo que eu crio é de propriedade do root no grupo www-data.

Para procurar por erros, eu atendi os logs em / var / log / samba e encontrei apenas um erro no log.smbd ao reiniciar o serviço samba. Veja o log aqui:

smbd version 3.6.6 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2011
[2013/09/23 11:14:22.601031,  0] printing/print_cups.c:110(cups_connect)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2013/09/23 11:14:22.602215,  0] printing/print_cups.c:487(cups_async_callback)
  failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL

E aqui está o meu smb.conf:

[global]
    server string = %h server
    map to guest = Bad User
    obey pam restrictions = Yes
    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
    idmap config * : backend = tdb

[homes]
    comment = Home Directories
    valid users = %S
    create mask = 0700
    directory mask = 0700
    browseable = No

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

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

[www]
    comment = www
    path = /var/www/
    valid users = bart, root
    admin users = bart, root
    write list = bart, root
    force user = www-data
    force group = www-data
    read only = No

Até tentei adicionar www-data aos usuários válidos, bem como aos usuários administradores e à lista de gravação. Isto, obviamente, não teve nenhum efeito.

Você pode me ajudar? Obrigado antecipadamente!

    
por BonifatiusK 23.09.2013 / 11:36

1 resposta

1

Acho que, nesse caso, a opção admin users substitui a opção force user . Então, quando você se conectar como o usuário bart ao compartilhamento www , ele receberá privilégios administrativos e todas as operações de arquivo serão feitas sob superusuário root .

Tente remover o usuário bart da lista admin users , recarregue o serviço e verifique seu comportamento novamente.

Finalmente, vale mencionar que o usuário bart precisa ter permissões de gravação nesse diretório. Você pode usar as ACLs para conseguir isso ou colocar o usuário no grupo www-data .

    
por 23.09.2013 / 12:04