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

23

Eu estava lendo Practical Unix e Internet Security , quando me deparei com as seguintes linhas que não conseguia compreender.

Se você estiver usando o servidor de arquivamento wu, poderá configurá-lo de forma que os arquivos carregados sejam carregados no modo 004 , para que não possam ser baixados por outro cliente . Isso fornece uma proteção melhor do que simplesmente tornar o diretório ilegível , pois evita que as pessoas enviem arquivos e depois informam a seus amigos o nome exato do arquivo para download.

Uma permissão de 004 corresponde a -------r--. Não é possível baixar um arquivo se 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?

Nota: Isso se refere a usuários não autorizados que deixam material ilegal e com direitos autorais em servidores usando FTP anônimo. A solução acima foi sugerida para evitar isso, juntamente com um script que exclui o conteúdo do diretório após um período de tempo.

Aswin PJ
fonte
Especificamente, parece que ele está fazendo referência ao WU-FTP , da fama wuarchive.wustl.edu.
Parthian Shot
2
aqui está o UMASK 004 e não é uma permissão!
Afsin Toparlak
3
@AfsinToparlak não, essa é definitivamente uma permissão positiva, não uma umask. Veja a resposta aceita.
o11c
"Um arquivo não pode ser baixado se tiver acesso de leitura" Isso não está totalmente correto. Todos, exceto o usuário e o grupo proprietário do arquivo, têm acesso de leitura.
Scai 07/07/2015
1
Com relação ao " Isso fornece uma proteção melhor do que simplesmente tornar o diretório ilegível, pois evita que as pessoas enviem arquivos e depois digam a seus amigos o nome exato do arquivo para baixar. " ... um truque anterior era tornar uma área de upload algo como 333( ou d-wx-wx-wx) que permitem que as pessoas (usuários de FTP) criem arquivos, mas como não há permissão de leitura [no diretório], elas não podem listar os arquivos no diretório de upload. No entanto, se você soubesse o nome, poderia ler / baixar os arquivos.
TripeHound 7/07

Respostas:

33

As permissões 004 (------ r--) significam que o arquivo pode ser lido apenas por processos que não estão sendo executados como o mesmo usuário ou como o mesmo grupo que o servidor FTP. Isso é bastante incomum: geralmente o usuário tem mais direitos que o grupo e o grupo tem mais direitos que outros. Normalmente, o usuário pode alterar as permissões, portanto, é inútil dar permissões mais restritivas ao usuário. Faz sentido aqui, porque o servidor FTP (presumivelmente) não possui um comando para alterar permissões, portanto os arquivos reterão suas permissões até que 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 impossibilita o uso do servidor FTP para compartilhar arquivos.

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

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

Gilles 'SO- parar de ser mau'
fonte
1
@Cthulhu: O processo do servidor FTP também pertence a "todos". Mas as permissões UNIX não são pesquisadas. Apenas um trio de direitos é considerado, e essa é uma verificação de aprovação / reprovação. (Ao contrário da ACL do Windows que tem aprovação / reprovação / olhar mais)
MSalters
8

A máscara octal de permissões 004corresponde a uma máscara simbólica de permissões, o u=,g=,o=rque significa que (u)serquem possui o arquivo não pode lê-lo, gravá-lo ou executá-lo, nem outros usuários iguais (g)roupao usuário que possui o arquivo. Somente (o)therusuários que não são o proprietário, nem estão no mesmo grupo que o proprietário, podem ler o arquivo.

godlygeek
fonte
1
aqui está o UMASK 004 e não é uma permissão!
Afsin Toparlak
4
@AfsinToparlak: não, é uma permissão explícita . Veja a resposta aceita.
TripeHound 07/07
6

Sim, mas o arquivo pertence ao 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 gera um erro.

Jodka Lemon
fonte
Então, quando um arquivo é carregado, apenas esse usuário recebe a permissão de leitura e todos os outros recebem 000? Estou correcto? Você pode, por favor, expandir sua resposta?
Aswin PJ
1
Encontrei o livro e o capítulo trata de proteger um diretório público que pode ser gravado para clientes de FTP anônimo. Qualquer cliente anônimo abre o arquivo como o mesmo uid que qualquer outro cliente anônimo, portanto, um arquivo criado pode ser criado por anônimo, mas não legível por anônimo. É legível por qualquer outro uid no sistema.
Jodka Lemon
@ esperança: cada dígito em uma string octal de permissão representa 4 bits: set-id, read, write e exec, nessa ordem. Assim, 7 significa que os bits de leitura, gravação e execução estão todos definidos. O primeiro dígito é a permissão para o proprietário, etc. Portanto, não faz sentido dizer que os outros recebem 000. Outros ficam justos 0. A resposta de Gilles é a melhor explicação de como uma configuração de permissão 004realmente faz.
Peter Cordes
O terceiro passo é escrever, não ler.
Pare de prejudicar Monica
@OrangeDog Você está certo. Eu corrigi isso.
Jodka Lemon
-1

Parece mais provável que isso signifique que quaisquer permissões sejam 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).

Nathan Ringo
fonte
Não, como outros explicaram, o servidor ftp define as permissões para 004que o usuário que o carregou e quaisquer outros usuários do ftp (pelo menos anônimos) não possam acessar o arquivo até que ele tenha sido verificado (quando seria re-permitido e provavelmente mudou / renomeou para um local apropriado). Lugares como o WU Archive eram frequentemente (mis) usados ​​no passado sombrio e distante como sites de compartilhamento de arquivos, se coisas como essa não fossem implementadas.
TripeHound 7/07