[Dica/Tuto] Samba definindo permissões de pastas e arquivos

Oi pessoal,
Segue uma dica para quem usa o samba.

Definir permissões de pastas e arquivos.
Já ocorreu em copiar uma pasta inteira para uma pasta compartilhada e o samba informa que você não tem permissão.
Bem, este problema será solucionado.

são 4 configurações

create mask
Modo padrão para a criação de arquivos no compartilhamento..O modo de arquivo deve ser especificado em formato octal.

directory mask
Modo padrão para a criação de diretórios no compartilhamento. O parâmetro "directory mode" é um sinônimo para este. O modo de diretório deve ser especificado em formato octal.

force create mode
Este parâmetro especifica um conjunto de permissões de bits no modo UNIX que sempre serão definidas em um arquivo criado pelo Samba. Deve ser especificado em formato octal.

force directory mode
Este parâmetro especifica um conjunto de permissões de bits no modo UNIX que sempre serão definidas em um diretório criado pelo Samba. Isso é feito 'OR' bit a bit nos bits de modo de um diretório que está sendo criado. Deve ser especificado em formato octal

Para a definição global você pode definir como padrão do sistema
[global]
create mask = 0664
directory mask = 2755
force create mode = 0644
force directory mode = 2755

Um rápida explicação sobre o numero 2 em 2755

Este é um bit extra bchamado de GUID
O GID faz com que o arquivo seja executado com os privilégios do grupo ao qual pertence e não do usuário que o executa. O bit GID é representado pela letra s logo após o conjunto de permissões do grupo ou no número 2.

Se você usa o usershare

usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes

Recomendo alternar para
create mask = 0664
directory mask = 2775
force create mode = 0644
force directory mode = 2775

ficando assim
[global]
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
create mask = 0664
directory mask = 2775
force create mode = 0644
force directory mode = 2775

Os mesmos podem ser modificados em pastas definidas no smb.conf

Exemplo

[media]
comment = Compartilhamento de mídia acessível por greg e pcusers
path = /path/to/media
valid users = greg @pcusers
force group = +pcusers
public = no
writable = yes
create mask = 0664
directory mask = 2775
force create mode = 0664
force directory mode = 2775

3 Curtidas