O que há de tão especial na permissão do Linux 004?

23

Eu estava lendo Practical Unix e Internet Security , quando me deparei com o seguindo linhas que eu não pude compreender.

If you are using the wu archive server, you can configure it in such a way that uploaded files are uploaded in mode 004, so they cannot be downloaded by another client. This provides better protection than simply making the directory unreadable, as it prevents people from uploading files and then telling their friends the exact filename to download.

Uma permissão de 004 corresponde a -------r-- . Um arquivo não pode ser baixado se ele tiver acesso de leitura? Além disso, por que é considerado melhor do que simplesmente tornar o diretório não legível? O que isso implica?

Observação: isso ocorre com relação a usuários não autorizados que deixam material ilegal e protegido por direitos autorais em servidores que usam FTP anônimo. A solução acima foi sugerida para evitar isso junto com um script que exclui o conteúdo do diretório após um período de tempo.

    
por Aswin P J 06.07.2015 / 19:30

4 respostas

33

As permissões 004 (------ r--) significam que o arquivo só pode ser lido por processos que não estão sendo executados como o mesmo usuário ou o mesmo grupo que o servidor FTP. Isso é bastante incomum: geralmente o usuário tem mais direitos do que o grupo e o grupo tem mais direitos do que outros. Normalmente, o usuário pode alterar as permissões, portanto, é inútil conceder permissões mais restritivas ao usuário. Faz sentido aqui porque o servidor FTP (presumivelmente) não tem um comando para alterar as permissões, então os arquivos manterão suas permissões até que alguma outra coisa os altere.

Como o usuário que o servidor FTP está executando não pode ler os arquivos, as pessoas não poderão fazer o download do arquivo. Isso torna impossível usar o servidor FTP para compartilhar arquivos.

Presumivelmente, algum processo sendo executado como um usuário e grupo diferente lê o arquivo em algum momento, verifica se ele está em conformidade com alguma política, copia os dados, se houver, e exclui o arquivo carregado.

Teria mais sentido para mim dar as permissões de arquivo 040 (legíveis apenas pelo grupo) e fazer com que o processo do consumidor fosse executado como o mesmo grupo que o servidor FTP, mas com um usuário diferente.

    
por 07.07.2015 / 01:31
8

A máscara de permissões octal de 004 corresponde a uma máscara de permissões simbólicas de u=,g=,o=r , o que significa que o (u)ser que possui o arquivo não pode ler, escrever ou executá-lo, e nem outros usuários no mesmo (g)roup como o usuário que possui o arquivo. Somente (o)ther usuários que não são nem o proprietário nem o mesmo grupo do proprietário podem ler o arquivo.

    
por 06.07.2015 / 19:55
6

Sim, mas o arquivo é de propriedade do usuário. Portanto, o próprio cliente tem a permissão 0 (usuário) no arquivo e não pode lê-lo.

Você pode testar isso sozinho:

echo TEST > myTestFile;
chmod 004 myTestFile;
cat myTestFile;
chmod 700 myTestFile;
cat myTestFile;

O terceiro passo gerará um erro.

    
por 06.07.2015 / 19:41
-1

Parece mais provável que isso signifique que quaisquer permissões são mascaradas por 004, ou seja, outros usuários não podem ler o arquivo. Isso serviria para proteger o arquivo de outros usuários no sistema (até certo ponto).

    
por 07.07.2015 / 02:03