Samba - Os usuários não podem gravar em diretórios não criados por eles mesmos

3

Veja a seção smb.conf relevante:

[someshare]
        path = /somewhere
        read only = No
        writeable = Yes
        guest ok = Yes
        create mask = 0777
        security mask = 0777
        directory mask = 0777
        force create mode = 0777
        directory security mask = 0777

Diga que o user1 cria um diretório nesse compartilhamento. Suas permissões serão: drwxr-xr-x e o proprietário será user1.

Enquanto o usuário2 pode acessar o diretório criado pelo usuário1, ele recebe um erro de permissão ao tentar criar um arquivo nesse diretório.

Para mim, parece estranho que as permissões do diretório criado pelo user1 não sejam 777, conforme especificado em smb.conf ...

Editar : esqueci de mencionar um erro estranho que aparece no log do cliente quando a permissão é negada:

[2009/06/24 03:02:18,  0] smbd/trans2.c:unix_filetype(1130)
  unix_filetype: unknown filetype 0

O que estou perdendo?

    
por Ivan 25.06.2009 / 00:49

3 respostas

3

Você está com saudades:

force directory mode = 0777

Além disso, você realmente quer usar 0666 para criar máscara de força. Provavelmente não é uma boa razão para forçar os bits de execução.

    
por 25.06.2009 / 01:37
1

Alterar as permissões para o 777 SEMPRE me deixa nervoso, mesmo que seja um projeto em casa. Em vez disso, adicione todos os seus usuários de samba a um grupo (como samba_user) e, em smb.conf, adicione a linha:

force group = samba_user

Naturalmente, você também deve chgrp todas as pastas necessárias. Então você pode definir permissões mais refinadas, permitir que as pessoas façam suas coisas nas pastas de outras pessoas, e seu servidor não é transformado em gratuito para todos. Alguém quer ter uma pasta privada? Basta alterar o grupo dessa pasta de samba_user de volta para o grupo privado do usuário.

    
por 11.07.2009 / 09:32
0

Eu estou supondo que isso é as permissões em smb.conf sendo usado como uma máscara junto com as especificadas no perfil do usuário, os dois receberão anded juntos ao invés de ored se o samba disser 777 e a máscara do usuário for 755 então você obterá 755 como resultado.

A mensagem de permissão negada que você vê é simplesmente concordar com as permissões que você está vendo registradas nos arquivos. A mensagem de erro extra que você vê não tenho certeza sobre isso.

    
por 25.06.2009 / 01:21