Servidor Samba - CHMOD e permissões - Duvida!

Iniciado por _ubuntu_, 10 de Março de 2016, 09:20

tópico anterior - próximo tópico

_ubuntu_

Olá pessoal, é o seguinte, tenho varias pastas compartilhadas e varios usuarios que acessam essas pastas de acordo com o grupo que os usuarios e as pastas pertencem.

vou colocar um exemplo, para que possa ajudar vcs a entenderem.



Pasta: TESTE
/etc/samba/smb.conf
[teste]
        comment = pasta teste
        path = /teste
        read only = no
        guest ok = no
        browseable = yes
        create mask = 0777
        directory mask = 0777


Essa pasta esta com chmod 2770, ou seja, somente usuario dono e do grupo pertencente podem acessar, editar, criar arquivos e pastas.
Essa pasta esta com o chown root.teste, sendo assim, o dono da pasta é o root, e o grupo que tem acesso total é o teste.

Sendo assim, tecnicamente, qualquer usuario root ou do grupo pertencente ao teste, tem acesso total a essa pasta através do compartilhamento samba.

E la na config. do samba, onde tem as linhas create mask e directory mask,, foi definido 0777, com a intenção de que todo arquivo criado dentro dessa pasta, seja criado com a permissão 777, ou seja, qualquer um que conseguir entrar nessa pasta, terá permissão total nos arquivos e pastas ali dentro.

Mas o problema é: ex:
Asuario joao cria o arquivo teste.txt dentro dessa pasta. (Mas o arquivo vem criado com a permissão 750 por padrao).
E isso impede que a usuaria maria consiga editar esse arquivo. (E vice versa).

Ou seja, eu preciso que TODOS os arquivos criados dentro da pasta teste, sejam com permissão 777, ou no minimo 770, para que seja possivel qualquer um criar e qualquer um editar.


Obrigado.

zekkerj

#1
Olá _ubuntu_,
Em vez de "create mask", use "force create mask mode".
E em vez de 777, vc vai usar 060 pra dar permissões de leitura / gravação pro grupo.
Não use 777 com o force create, ou vc vai terminar com o arquivo totalmente aberto pra todos.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

_ubuntu_

Citação de: zekkerj online 10 de Março de 2016, 12:20
Olá _ubuntu_,
Em vez de "create mask", use "force create mask".
E em vez de 777, vc vai usar 060 pra dar permissões de leitura / gravação pro grupo.
Não use 777 com o force create, ou vc vai terminar com o arquivo totalmente aberto pra todos.

Muuuuuuuito obrigado @zekkerj , resolveu todos os meus problemas!!!

A solução foi exatamente essa que tu propôs.


Obrigado.

[Tópico encerrado]

zekkerj

Outra dica... faça um "chmod g+s" na pasta compartilhada. Isso fará com que todos os arquivos e diretórios criados, a partir daí, passem a pertencer automaticamente ao mesmo grupo.
Não sei se foi isso que vc quis fazer com o "chmod 2770"; a semântica de "g+s,ug+rwx" é mais fácil de compreender o que está sendo feito.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maurov


_ubuntu_

Citação de: zekkerj online 10 de Março de 2016, 13:59
Outra dica... faça um "chmod g+s" na pasta compartilhada. Isso fará com que todos os arquivos e diretórios criados, a partir daí, passem a pertencer automaticamente ao mesmo grupo.
Não sei se foi isso que vc quis fazer com o "chmod 2770"; a semântica de "g+s,ug+rwx" é mais fácil de compreender o que está sendo feito.

De 0000 até 0777, eu consigo compreender perfeitamente... Já a parte do primeiro digito onde é no caso o 2777, isso é mais dificil compreender, até agora nao consegui encontrar um tutorial que a didatica seja boa o suficiente pra explicar certo essa parte do chmod.

g+s =  (adicionar no grupo a função de S 'bit sticky') certo??

zekkerj

Certo. A página de manual online ("man chmod") tem esses códigos, se não me engano.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maurov

CitarEm vez de "create mask", use "force create mask".
E em vez de 777, vc vai usar 060 pra dar permissões de leitura / gravação pro grupo.

Seria então
force create mask = 060 ?

zekkerj

#8
Sim.

O "force create mask mode" usa uma máscara de "OR", ou seja, os bits que estão ligados na máscara estarão ligados no resultado também. Ou seja, vc usa esse comando para conceder permissões além do que o usuário já tem.

Já o "create mask" usa uma máscara de "AND", nela os bits desligados estarão desligados no resultado; assim, vc vai usar esse comando para retirar permissões.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maurov


Não achei onde fazer upload de imagem aqui para enviar a tela de erro.

Fiz as alterações sugeridas pelo nano, no terminal. No Samba, interface gráfica, retorna um aviso:
"Algumas linhas não puderam ser compreendidas ao ler o arquivo de configuração /etc/samba/smb.conf". Isso pode ser devido {a diretivas de configuração desconhecidas de plugins do Samba, mas também podem ser erros de configuração."
Mostrar_detalhes
"274: force create mask = 060"

zekkerj

Falha minha, não é "force create mask", e sim "force create mode".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

_ubuntu_

O meu esta assim amigo: (Dentro do smb.conf)


E esta funcionando perfeitamente!

zekkerj

Há vários comandos com mais de uma forma, como o "writeable = yes" que é equivalente a "read only = no", ou ainda "writable = yes". Isso pode mudar de uma versão pra outra, também.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

_ubuntu_

#13
Exatamente, tambem ja vi no lugar de browseable como printable.
Existem varias maneiras de se chegar no mesmo resultado..

Eu costumo sempre seguir o mesmo padrão.

É possivel ler sobre isso aqui: https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html

zekkerj

Em tempo... lembra que eu disse pra não usar o "force create mask = 777"?... vc assim está forçando que todos os usuários tenham acesso total a todos os arquivos!
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D