Levando a propriedade do arquivo quando o arquivo e o diretório são legíveis / graváveis

4

Eu tenho alguns arquivos no diretório:

drwxrws-wt 2 me      mygroup  4,0K 10.1. 12:34 .
-rw-r----- 1 someone mygroup  10G  10.1. 11:22 someonesfile

me e someone são usuários regulares sem grupos suplementares.

Como apropriar-se desse arquivo usando me conta?

Se me do:

$ chown me someonesfile
chown: doing bla bla bla: permission denied

No entanto, me pode alterar a propriedade substituindo o arquivo por novo:

cp someonesfile myfile && mv -f myfile someonesfile'

Portanto, minha principal questão é se existe uma maneira mais fácil ( mais barata ) de alterar a propriedade de arquivos no ambiente descrito sem usar a conta raiz ou outras elevações de privilégios. Basicamente, eu queria saber se me pode de alguma forma tirar proveito das permissões de diretório para de alguma forma redefinir propriedade / permissões sem fazer cópia do arquivo inteiro.

Eu também notei que editar o arquivo com vim e forçar a sobrescrever com :w! alterará o proprietário do arquivo, é o mesmo que fazer cp && mv ? Pelo menos touch someonesfile falhará com permissão negada.

    
por Sampo Sarrala 19.03.2013 / 13:51

2 respostas

2

Sim, vim removerá o arquivo original e criará um novo para inserir o novo conteúdo.

Seu cp && mv -f é o caminho a seguir.

Observe que quando o t bit é definido no diretório como é no seu caso, não é suficiente ter permissão de gravação para o diretório. Você também precisa ser o proprietário do arquivo ou do diretório (como você está ).

    
por 19.03.2013 / 14:27
1

Apenas o root pode alterar o proprietário de um arquivo. Sem envolver o root, tudo o que você pode fazer é excluir o arquivo e criar ou renomear um arquivo diferente com esse nome.

Se você tivesse permissão para se apropriar do arquivo, isso seria uma falha de segurança. Por exemplo, o usuário someone poderia abrir o arquivo, verificar sua propriedade e permissões (chamando fstat no identificador de arquivo aberto) e concluir que apenas um programa em execução como someone poderia ter produzido esses dados. Se você fosse capaz de se apropriar do arquivo, você poderia alterar seu conteúdo em relação aos desejos de someone .

    
por 20.03.2013 / 00:25