pure-ftpd: um arquivo readonly / não deletable no diretório home

1

Existe uma maneira de ter um arquivo no diretório pessoal de FTP do usuário sem a capacidade de modificá-lo / removê-lo desse diretório por FTP?

Assim, o usuário tem permissões de gravação em sua própria pasta base, portanto, a capacidade de remover arquivos. Uma exceção deve ser feita para um único arquivo, que possui o mesmo nome de arquivo e conteúdo para cada conta.

A solução em que estou pensando agora para executar um script periódico para verificar a presença desse arquivo e, em caso negativo, colocá-lo de volta. Mas eu me pergunto se há uma solução melhor do que isso.

    
por Bram Schoenmakers 27.05.2010 / 13:13

3 respostas

1

Qual sistema de arquivos você tem? Você pode tentar configurar um atributo imutável nesse arquivo

chattr +i filename
    
por 20.07.2012 / 10:25
1

Como afirmado, um arquivo pode ser removido se você tiver permissão de gravação no diretório onde ele reside. No entanto, você não pode remover um diretório se ele não estiver vazio, mesmo se você tiver permissão de gravação no diretório pai. Assim, este hack deve funcionar:

mkdir protected
touch protected/test
sudo chown -R root:root protected
sudo chmod -R 755 protected

Agora, se você tentar remover o arquivo:

$ rm protected/test 
rm: remove write-protected regular empty file 'protected/test'? y
rm: cannot remove 'protected/test': Permission denied

E se você tentar remover o diretório:

$ rm -R protected
rm: descend into write-protected directory 'protected'? y
rm: remove write-protected regular empty file 'protected/test'? y
rm: cannot remove 'protected/test': Permission denied
    
por 20.07.2012 / 10:42
-1

Defina o proprietário e o grupo do arquivo como root e torne-o legível em todo o mundo:

chown root:root filename
chmod 664 filename
    
por 27.05.2010 / 13:41

Tags