Eu vejo o que você quer. Todos os usuários / computadores em sua LAN devem ser 'convidados' e ter acesso total de 'leitura / gravação' ao compartilhamento de arquivos.
Etapas:
Verifique a configuração do Samba. A partilha inclui estes:
[Share]
available = yes
browsable = yes
public = yes
writeable = yes
Verifique as permissões POSIX. Exemplo ls -lh:
drwxrws---+ 1 nobody nogroup 252 May 12 14:55 Music
Você vai querer ter o bit pegajoso lá caso contrário, o compartilhamento de arquivos não se comportará como você esperaria no Windows. chmod 2770 [dir] ...
Para aplicar com permissão para todos os diretórios use find. Exemplo
find . -type d -exec chmod 2770 {} \;
find . -type f -exec chmod 2760 {} \;
Você também desejará configurar o grupo para ser nogroup, que é o grupo convidado padrão para o samba.
Finalmente acls. Use getfacl e setfacl . Você vai querer configurar os padrões para o usuário nobody e o grupo nogroup. Depois disso, qualquer coisa criada pelo samba herdará boas permissões. Aqui está uma ACL de diretório de exemplo:
# file: Downloads
# owner: nobody
# group: nogroup
# flags: -s-
user::rwx
group::rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::---
Para obter alguns padrões, use find:
find . -type d -exec setfacl -d -m u::rwx {} \;
find . -type d -exec setfacl -d -m g::rwx {} \;
Para corrigir arquivos existentes:
find . -type f -exec chgrp nogroup {} \;
find . -type f -exec chmod 660 {} \;
find . -type f -exec setfacl -m g::rw {} \;
QUERO MAIS!
Digamos que você não quer mudar o grupo POSIX. Então você pode usar a ACL para adicionar explicitamente o grupo. Exemplo:
setfacl -m g:linuxgroup:rw [filename]
Com essas configurações eu compartilho entre o Ubuntu, o Windows, o RPi, o Android e outros aplicativos Linux.