impedir remoção de pastas [RESOLVIDO]

1. impedir remoção de pastas [RESOLVIDO]

Bruno Santana
bruno_r_santana

(usa Ubuntu)

Enviado em 22/05/2012 - 15:28h

Olá pessoal,

Eu criei uma área de FTP para a galera aqui da empresa usar. Os usuários devem ter permissão para fazer upload de arquivos mas não devem ter permissão para apagar nenhum arquivo, ou pelo menos não apagar uma pasta que contenha inúmeros arquivos.

Tem como dar acesso para gravar mas não para deletar?
Tem como pelo menos configurar para não conseguirem apagar uma pasta a menos que ela esteja vazia?

Aguardo um help ai.

valeu!


  


2. Re: impedir remoção de pastas [RESOLVIDO]

3. Qual serviço ftp?

Fábio de Souza
splendide

(usa openSUSE)

Enviado em 22/05/2012 - 16:18h

Veja qual o serviço vc está utilizando (vsftp, pure-ftp, etc), entre no man/help dele e veja as opções - CONCERTEZA deve ter a opção para não excluírem arquivos, somente postar.

Abç




4. ainda não deu

Bruno Santana
bruno_r_santana

(usa Ubuntu)

Enviado em 22/05/2012 - 20:42h

Opa,

Tentei usar o stick bit e ora funcionava ora não. Tinha horas que mesmo o diretório e arquivos estando com t no final(ao usar ls -la) eu consegui apagar com outro usuário que não foi o que criou. Tentei usar esses comandos no diretório que continha os outros diretórios e arquivos que não podem ser apagados:

chmod -R +t diretorio
chmod +t diretorio
chmod -R 1777 diretorio

Não consegui fazer funcionar direito usando nenhum desses.

Também tentei usar chattr mas dai não consigo criar nenhum subdiretório nele.

Não achei ainda uma opção no vsftpd para habilitar somente gravação e não poder deletar arquivos do ftp.

Será que com acl dá certo fazer isso? Mais alguma dica que possa me ajudar?

Grato.


5. solução

Bruno Santana
bruno_r_santana

(usa Ubuntu)

Enviado em 23/05/2012 - 14:56h

Olá pessoal,

Eu consegui uma solução e vou colocá-la aqui caso alguém precise fazer algo desse tipo também.

Eu criei um único usuário de acesso ao FTP que será usado por todos para fazer upload de arquivos, mas poderia ter criado um usuário para cada um pois não interfere em nada no modo como solucionei o problema.

O usuário irá fazer uploads na pasta pastaDosUploads por exemplo. Deixo o dono dessa pasta como root, dou permissão 777 nela para o pessoal conseguir subir coisas nela e criar subdiretórios e por último aplico o sticky bit para ninguém apagá-la. Depois faço o mesmo nos subdiretórios.

Por último eu passo permissão 755 nos arquivos e deixo o owner como root para ninguém apagar eles também. Segue o script que usei para executar essas tarefas:
==============================
cd /home/
chown root:root pastaDosUploads
chmod 777 pastaDosUploads
chmod +t pastaDosUploads

find pastaDosUploads -type d | while read var;do chown root:root "$var"; chmod 777 "$var"; chmod +t "$var";done

find pastaDosUploads -type f | while read var;do chown root:root "$var"; chmod 755 "$var";done
==============================
Agendei esse script no cron para ficar rodando no intervalo de tempo que for necessário.

Obrigado pela ajuda de todos e fica ai a dica.

Abraço


6. gambiarrex rs

Fábio de Souza
splendide

(usa openSUSE)

Enviado em 23/05/2012 - 15:08h

Sinceramente, faz isso não cara, isso é uma gambiarra muuuuuuito feia. Há outras formas melhores, mais simples e corretas de se fazer isso.


7. Re: impedir remoção de pastas [RESOLVIDO]

Fábio de Souza
splendide

(usa openSUSE)

Enviado em 23/05/2012 - 15:21h

Dentro do arquivo de config do vsftp deverá ter essa opção, ela pode estar comentada (como está abaixo) ou com o valor NO.

#anon_other_write_enable=YES


Se isso não funcionar é porque no restante da config tem algum parametro permitindo.


8. Re: impedir remoção de pastas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/05/2012 - 15:41h

Isso habilitaria escrita para usuário anonimo. Por default o usuário anonimo é desabilitado.


9. Re: impedir remoção de pastas [RESOLVIDO]

Fábio de Souza
splendide

(usa openSUSE)

Enviado em 23/05/2012 - 16:30h

# Uncomment this to enable anonymus FTP users to perform other write operations
# like deletion and renaming.
#
#anon_other_write_enable=YES



Meu inglês tá bão cara. rs
Ele nao configurou isso ou deve ter outras diretiva dependentes e tal..


10. Re: impedir remoção de pastas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/05/2012 - 16:34h

Vou dar uma lida na documentação aqui. De repente tem uma solução mais elegante mesmo.


11. Re: impedir remoção de pastas [RESOLVIDO]

Fábio de Souza
splendide

(usa openSUSE)

Enviado em 23/05/2012 - 16:57h

Eu uso o pure-ftpd e nele é a opção -K



12. Re: impedir remoção de pastas [RESOLVIDO]

Bruno Santana
bruno_r_santana

(usa Ubuntu)

Enviado em 23/05/2012 - 21:09h

a diretiva anon_other_write_enable pelo que li serve para habilitar permissão de escrita(inclusive dar permissão de mudar os nomes dos arquivos e deletá-los) ao usuário de ftp anônimo.

No meu caso não preciso de um usuário anônimo e isso não é nem desejável já que quero que haja autenticação e somente usuários autorizados postem arquivos.

Mesmo se quisesse um usuário anônimo, ele não poderia deletar arquivos assim como os outros usuários também não poderiam. A intenção é que eles somente façam upload e download mas não deletem nada. Não achei nenhuma opção no vsftpd que deixasse desabilitada a permissão de deletar arquivos então usei uma solução alternativa que com certeza não é a melhor mas é a única que meu conhecimento técnico me permitiu aplicar(não manjo muito de Linux).

De qualquer forma obrigado pela ajuda de todos e se tiverem mais alguma sugestão de como fazer isso de uma forma melhor postem por favor.

valeu!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts