está definindo uma permissão 0 em um diretório uma maneira eficaz de proteger seu conteúdo?

1

Digamos que as permissões para user e group estejam configuradas corretamente em um diretório. Uma permissão 0 para other nesse diretório forneceria controle de acesso efetivo para os arquivos e subdiretórios do diretório? Existem dicas a serem consideradas?

Quando você cria arquivos que são rw para outras pessoas (como com Unix Domain Sockets), as pessoas consideram isso um problema de segurança, pois há uma condição de concorrência que um usuário mal-intencionado pode explorar antes que as permissões apropriadas sejam aplicadas a um arquivo. . É por isso que estou procurando uma maneira "atômica" de fazer permissões básicas.

    
por m33lky 22.12.2011 / 05:17

2 respostas

3

Os 3 bits para permissões "outros" negarão todo o acesso se forem 000 (em binário) ou 0 (em octal, a base inserida numericamente em chmod) ou --- conforme visualizado em ls -l . Note que "todo o acesso" é relevante para o arquivo. A existência do arquivo ainda pode ser vista se o acesso ao diretório em que o arquivo está é permitido. Você pode usar chmod o-rwx filename para remover permissões para outras pessoas, sem alterar a permissão para membros do grupo e proprietário.

Para que as permissões sejam configuradas atomicamente, isso pode ser feito no nível de programação ao executar programas com ligações de chamada do sistema. Caso contrário, defina o umask para o processo do shell com o comando umask do shell, que é herdado pelos processos iniciados pelo shell. Os bits de umask que estão on farão com que os bits correspondentes nos arquivos criados sejam feitos 0. Esta é a maneira atômica que você está procurando e que não deixa nenhuma janela de oportunidade de exploração. Um umask de 022 normalmente daria aos arquivos uma permissão de 644 ( rw-r--r-- ) e diretórios uma permissão de 755 ( rwxr-xr-x ). Um umask de 027 daria permissões de 640 ( rw-r----- ) e 750 ( rwxr-x--- ).

    
por 22.12.2011 / 10:08
0

Para acessar um arquivo, você precisa acessar os diretórios acima dele. Desativar o acesso ao diretório, conforme anotado, protegerá o arquivo. Se um usuário tiver acesso ao diretório, ele poderá ver os arquivos, mesmo que não consiga acessar o conteúdo do arquivo.

O bit de acesso:

  • x permite que o conteúdo do diretório seja acessado;
  • r permite que o conteúdo do diretório seja listado; e
  • w permite que o conteúdo do diretório seja alterado.

É possível vincular o mesmo arquivo em vários diretórios no mesmo disco. Você precisa garantir que todos os diretórios estejam protegidos.

Limpar o acesso para outros ainda permite o acesso do usuário e dos membros do grupo de diretórios.

    
por 22.12.2011 / 21:49