Samba: Escreve direitos de acesso sem direitos de acesso de leitura possíveis?

2

É possível no samba ter somente acesso de gravação , mas sem acesso de leitura e sem direitos de navegação ?

Estou tentando resolver o problema de acesso:

Uma máquina windows XP ou windows7 em execução em uma VM é conectada a um compartilhamento de samba.

Esta máquina tem que escrever um arquivo de texto em um diretório compartilhado.

(É aceitável que a máquina grave o arquivo localmente e depois copie este arquivo para a rede.)

A máquina pode não ter direitos para ler quaisquer outros arquivos no diretório compartilhado.

Ele precisa abrir mão do acesso ao arquivo que está sendo gravado / copiado quando o arquivo for salvo por completo.

Como faço isso?

    
por 576i 17.09.2013 / 10:33

1 resposta

4

TL; DR : Sim, é possível. No lado do Linux, conceda ao seu diretório pai a permissão 300.

Explicação mais longa :

Observe que, para arquivos, o típico rwx triplet significa permissão para r = read, w = write e x = execute.

Mas, para diretórios, essas permissões têm um significado diferente: r = procurar diretório, w = criar ou excluir arquivos, x = descer para o diretório ou abaixo dele para acessar arquivos ou diretórios.

Em outras palavras, se você criar o diretório sem r permission, o usuário não poderá navegar nele, no entanto ele poderá acessar arquivos ou diretórios nesse diretório desde que o nome do arquivo seja conhecido de antemão (o acesso significa read ou gravar arquivos de acordo com as permissões atribuídas aos arquivos em si).

Tenha em mente que as permissões do Linux funcionam em nível inferior às permissões do Samba e, mesmo que você edite o smb.conf para conceder permissões aparentemente mais amplas, as permissões no nível do Linux vencerão se forem mais restritas do que as permissões do Samba.

Por exemplo, esse esquema permite criar um diretório que permite criar arquivos e gravar neles, mas não conseguir navegar na lista desses arquivos ou ler a partir deles:

mkdir dir
chmod 300 dir         # 300 = -wx------

Observe que esse diretório deve ser criado no lado do Linux - o cliente Windows pode não conseguir criá-lo com as permissões apropriadas.

    
por 17.09.2013 / 12:51

Tags