Samba - Permissões apenas para o dono do arquivo.

Iniciado por bruno_moita, 08 de Setembro de 2009, 11:36

tópico anterior - próximo tópico

bruno_moita

Boa tarde,

 Estou com uma dúvida no meu servidor Samba. Tinhamos uma área aberta para a transferência comum de arquivos, onde os usuários tinham controle total sobre qualquer arquivo. Depois de muitos sumiços de arquivos, brigas e reclamações, vamos mudar o sistema. Apenas o usuário dono do arquivo postado, poderá ter controle sobre a exclusão de seu arquivo.

 Para homologar este ambiente, criei uma pasta teste, com as permissões abaixo:

drwxrwxrwx  2 root   tecnico               4096 2009-09-08 11:33 teste

 As configurações deste compartilhamento no smb.conf estão conforme abaixo:

[area_teste]
       writable = yes
       path = /empresa/teste
       force directory mode = 700
       sync always = yes
       force create mode = 700
       comment = Area de Testes
       create mode = 700
       public = yes
       directory mode = 700

  O primeiro arquivo que copiei para a pasta /empresa/teste, ficou com as permissões conforme abaixo:

-rwx------  1 brunos suporte 163251 2009-09-08 09:58 Manual Mudança de Senha.docx

  Fiquei em dúvida, pois com esta permissão, apenas meu usuário (brunos), deveria ter controle total do arquivvo. Porém este arquivo foi excluído facilmente por outro usuário no primeiro teste.

  O erro está na permissão da pasta?

bruno_moita

Será que Open ldap, ou acl's de disco resolveriam meu problema?

FaBMak

Já leu ?
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/AccessControls.html

Especificamente o trecho "Protecting Directories and Files from Deletion"

Talvez seja mais fácil vc criar um diretório para cada usuário.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

bruno_moita

#3
Bom dia FabMak,

 Obrigado pelo artigo, como todo o ambiente empresarial, para convençer ao uso de uma pasta por usuário, terei que fazer relatórios, e provar por A + B todas as vantagens e benefícios deste sisstema de utilização. Então pode levar um tempo.
  Vou ler o artigo que voce me mandou e ver se há a solução que busco nele. Senão começo a desenvolver relatórios. rs

bruno_moita

Em uma pasta aberta a todos os usuários, apenas o usuario que copiou  arquivo ter permissão sobre sua exclusão é impossível.

Alguém contesta isso???

FaBMak

Citação de: bruno_moita online 14 de Setembro de 2009, 13:19
Em uma pasta aberta a todos os usuários, apenas o usuario que copiou  arquivo ter permissão sobre sua exclusão é impossível.

Alguém contesta isso???

É isso mesmo.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

tc.espinola

#6
Citação de: bruno_moita online 14 de Setembro de 2009, 13:19
Em uma pasta aberta a todos os usuários, apenas o usuario que copiou  arquivo ter permissão sobre sua exclusão é impossível.

Alguém contesta isso???

É possível sim, basta ativar o bit de aderência para a pasta com o comando "chmod 1777 /pasta", com essas permissões, todos os usuários podem acessar a pasta (777) mas apenas o usuário dono dos arquivos e pastas criados dentro dessa pasta (/pasta) poderão exclui-los (devido ao bit 1).

FaBMak

Citação de: tc.espinola online 01 de Outubro de 2009, 21:42
É possível sim, basta ativar o bit de aderência para a pasta com o comando "chmod 1777 /pasta", com essas permissões, todos os usuários podem acessar a pasta (777) mas apenas o usuário dono dos arquivos e pastas criados dentro dessa pasta (/pasta) poderão exclui-los (devido ao bit 1).

Mas, com isso será possível criar novos arquivos na pasta ? Porque, pelo que entendi/traduzi com o bit de aderência setado, vc pode apenas modificar os arquivos que já existem, não podendo incluir e nem excluir arquivos.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

tc.espinola

#8
Citação de: FaBMak online 02 de Outubro de 2009, 08:28
Citação de: tc.espinola online 01 de Outubro de 2009, 21:42
É possível sim, basta ativar o bit de aderência para a pasta com o comando "chmod 1777 /pasta", com essas permissões, todos os usuários podem acessar a pasta (777) mas apenas o usuário dono dos arquivos e pastas criados dentro dessa pasta (/pasta) poderão exclui-los (devido ao bit 1).

Mas, com isso será possível criar novos arquivos na pasta ? Porque, pelo que entendi/traduzi com o bit de aderência setado, vc pode apenas modificar os arquivos que já existem, não podendo incluir e nem excluir arquivos.

Com o bit de aderência (sticky bit) setado na pasta, somente usuário que criar arquivos e diretórios dentro da pasta poderão renomeá-los e deletá-los (a edição de arquivos ainda é possível). O que dará aos demais usuários a permissão de leitura e escrita na pasta são demais bits (777):

# chmod 1777 /home/publico

Normalmente utilizo o sticky bit em pastas que são acessadas por mais de um usuário, como a pasta público (/home/publico) ou pastas departamentais (/home/compras, /home/financeiro etc).









FaBMak

"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website