Permissões do Linux - Herdar / liberar para toda pasta compartilhada

0

Eu costumava executar o Windows Server e o compartilhamento de arquivos do meu NAS era muito fácil. Consegui a maioria das permissões para fazer com que funcione como eu preciso e principalmente uso o Samba para distribuir os arquivos.

A única tarefa com a qual estou tendo problemas é criar uma pasta Shared Files para mapear cada cliente. Parece que o Linux sempre cria arquivos e pastas sob os usuários com 755 permissões, portanto, quando conteúdos são criados nesta pasta, outros usuários não podem modificá-los ou excluí-los.

No Windows / NTFS, consegui definir a pasta Shared Files como R + W para todos e fazer com que tudo sob ela herde isso, o que significava que a pasta era gratuita para todos. Ainda estou para descobrir como fazer o Linux fazer isso.

Ubuntu Server 16.04.3 LTS

    
por Tera Volt 09.09.2017 / 14:49

2 respostas

1

Defina as permissões na raiz do compartilhamento (por exemplo, a diretriz% SAMBA path ) como 077x (onde x pode ser uma das 0 , 5 ou 7 ) e deixe O SAMBA se preocupa com permissões. Você só precisa combinar permissões de sistema de arquivos UNIX / Linux e SAMBA se tiver diferentes formas de acessar arquivos no sistema de arquivos correspondente ao compartilhamento SAMBA.

Se você quiser que todos os seus usuários sejam equivalentes, use a diretiva force user . Isso garantirá que todos os usuários que acessam o compartilhamento sejam tratados como o mesmo usuário no sistema de arquivos UNIX / Linux. (Não tem nada a ver com autenticação - os usuários ainda podem autenticar usando contas individuais, se é isso que você configurou.)

Veja um exemplo de compartilhamento que faz exatamente isso. O usuário e grupo " remote " é a conta UNIX / Linux local que possuirá os arquivos. O grupo " family " é o conjunto de contas que minha família e eu usamos para autenticar no compartilhamento.

[Family]
        comment = Shared
        valid users = @family
        path = /home/remote/shared
        vfs objects = recycle catia
        browseable = Yes
        read only = No
        force user = remote
        force group = remote
        force create mask = 0664
        force directory mask = 0775
    
por 09.09.2017 / 17:37
0

Você pode usar create mask e directory mask opção de configuração para configurar umask mais permissiva para permitir que membros do grupo (ou todos) modifiquem arquivos.

Por exemplo:

create mask = 0775
directory mask = 0775 

Há também os force crate mode respectivos. e as opções force directory mode . Quando usadas, as respectivas permissões são sempre adicionadas aos arquivos e diretórios criados.

Dependendo de como seus usuários estão configurados:

  • Se todos os seus usuários compartilharem um grupo principal comum, o uso das opções acima será suficiente.

  • Caso os grupos primários não sejam compartilhados, mas os usuários sejam membros do grupo comum, defina o grupo de diretórios para o grupo comum e aplique setgid bit para ele. Quando setgid bit é definido para um diretório, os novos arquivos criados herdam o grupo do diretório e os novos diretórios criados também terão o setgid bit definido.

  • Use Listas de controle de acesso POSIX . Para habilitar a ACL para um sistema de arquivos, talvez seja necessário usar a opção acl mount. Quando a ACL padrão é definida para um diretório, novos arquivos e diretórios criados herdam a ACL padrão. Veja a resposta para como herdar permissões de grupo no Linux para detalhes.

por 09.09.2017 / 15:01