Pular para o conteúdo

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

Dica publicada em Linux / FTP
Sidney Alexandre Pagel gnu
Hits: 10.944 Categoria: Linux Subcategoria: FTP
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
<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!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

Erro de autenticação no vsftpd [Resolvido]

Login automático em servidores FTP

ProFTPd: Login lento + prendendo usuário no home

Servidor seguro de FTP

500 Illegal PORT range rejected (Solução)

#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

Entre na sua conta para comentar.