Impedindo um usuário de apagar arquivos, apesar de poder gravá-los

Publicado por Sidney Alexandre Pagel em 03/11/2005

[ Hits: 10.356 ]

 


Impedindo um usuário de apagar arquivos, apesar de poder gravá-los



Esta dica tem por base utilizar o servidor ProFTPd rodando sobre Slackware Linux 10.1. O objetivo desse pequeno HOWTO é que criemos um usuário determinado que ocupe uma pasta no servidor FTP e possa gravar quaisquer arquivos nela (fazer upload), porém, não possa apagá-los, o que pode ser muito útil no caso de você desejar liberar um usuário padrão para vários clientes e que eles possam apagar os arquivos. Bem, vamos lá. Suponhamos que o usuário que você queira criar chame-se USER.

Passo 1) Crie o usuário. Aqui as possibilidades são inúmeras, com centenas de sintaxes possíveis. Isso deve resolver:

# useradd USER -g ftp -d /home/USER
# mkdir /home/USER
# chown USER:ftp /home/USER

Antes de utilizar o exemplo acima, tenha certeza de que seu ProFTPd está configurado para aceitar logins de usuários sem shell, caso contrário, você deverá acrescentar a shell utilizando-se do parâmetro "-s /caminho/para_a_shell". A primeira linha deverá ser modificada da seguinte maneira:

# useradd USER -g ftp -d /home/USER -s /bin/sh

As outras duas permanecem iguais.

Passo 2) Edite o arquivo /etc/proftpd.conf (use o editor de sua preferência):

# mcedit /etc/proftpd.conf

Vá até o final do arquivo e acrescente:

<Directory /home/USER/*>
<Limit DELE>
Denyall
</Limit>
</Directory>

Passo 4) Reinicie o serviço e pronto!

Pelo inetd:

# /etc/rc.d/rc.inetd restart

Caso esteja rodando standalone, os comandos seriam:

# killall -9 proftpd
# proftpd

Desse modo, apesar do usuário ser o dono da pasta, ele encontra-se proibido de apagar quaisquer arquivos aí contidos, mesmo sendo também dono dos arquivos. O inconveniente é que a única pessoa capaz de apagar os arquivos será o root, por meio de SSH ou equivalente.

Espero ter ajudado alguém.

Valeu!

Outras dicas deste autor

Alterando o IP de sua placa de rede no Slackware 10 com um único comando

Leitura recomendada

ProFTPD: Como corrigir o Erro: "Fatal: ScoreboardPath: deprecated. Use "ScoreboardFile /path/to/ scoreboard/file" instead"

FTP para download de distribuções Linux

ProFTPd: Login lento + prendendo usuário no home

500 Illegal PORT range rejected (Solução)

Acessando SFTP em modo gráfico com o Konqueror

  

Comentários
[1] Comentário enviado por paulomello em 13/12/2005 - 15:55h

Simplesmente sensacional

[2] Comentário enviado por gpr.ppg.br em 14/12/2005 - 19:01h

como faço para baixar tudo de uma pasta, arquivos e subpastas??? no ftp em modo texto ??? pois eu usei o comando: mget *.* e só baixa os arquivos.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts