Hard Linking arquivos de outros usuários

6

Suponha que o usuário A e o usuário B tenham cotas de disco de 1 GB.
Suponha também que o usuário B crie um arquivo de 900 MB com permissão 0666.
Isso permite que o usuário A acesse o arquivo temporariamente (para algum projeto, etc.). Observe que isso permite que o usuário A grave no arquivo também.

Se o usuário A cria um link físico para esse arquivo, e o usuário B exclui o arquivo, o usuário A essencialmente explorou o sistema de cota "roubando" 900 MB de armazenamento do usuário B?

Suponha que o usuário B nunca informe isso ao administrador, e o administrador nunca descubra.
Suponha também que o Usuário B nunca suspeite de nada sobre o Usuário A. Em outras palavras, suponha que o Usuário B não irá olhar para o diretório do Usuário A e os arquivos correspondentes.

Se uma pergunta semelhante tiver sido feita / respondida antes, peço desculpas por não conseguir encontrá-las.

    
por nehcsivart 09.12.2014 / 12:14

1 resposta

6

Este é um dos casos feios do modelo de permissão Unix. Conceder acesso de gravação a um arquivo permite vinculá-lo com dificuldade. Se o usuário A tiver permissão de gravação no diretório que contém o arquivo, ele poderá movê-lo para um diretório no qual o usuário B não tenha acesso. O usuário B não pode mais acessar o arquivo, mas ainda conta com o usuário B para fins de cota.

Alguns sistemas Unix mais antigos tiveram um furo pior: um usuário poderia chamar chown para conceder um de seus arquivos para outro usuário; se eles tivessem tornado o arquivo mundialmente gravável antes, eles poderiam continuar usando esse arquivo, mas o arquivo contaria na cota do outro usuário. Isso é um dos motivos pelos quais os sistemas modernos reservam chown fazer root .

Não há solução puramente técnica. Cabe ao usuário B perceber que o uso do disco ( du ~ ) não corresponde ao uso da cota e reclamar para o administrador do sistema, que investigará e castigará o usuário A.

    
por 10.12.2014 / 02:21