Qual privilégio é necessário para preservar a propriedade de um arquivo na cópia e como você o obtém?

2

Eu tenho uma pergunta de lição de casa sobre a programação do kernel no Linux. A questão é:

What Linux-specific privilege is required to preserve ownership of a file when it's copied, and how do you get it?

Por meio da experimentação, descobri que preciso ser root ou um superusuário para que isso funcione. Existe uma maneira mais específica de explicar esse efeito?

    
por Anthony 21.08.2011 / 13:59

1 resposta

3

Veja a capabilities(7) página de manual - você precisa do recurso CAP_CHOWN para alterar a propriedade do arquivo por meio de chown() . (A raiz tem todos os recursos ativados automaticamente. A página de manual explica como obter recursos em outros casos.)

Não há nenhum método / recurso separado para apenas preservar a propriedade, já que as cópias do arquivo Linux são feitas simplesmente lendo / gravando dados no arquivo de destino e fazendo o mesmo com os metadados. (Para comparação, o Windows NT tem SeBackupPrivilege e SeRestorePrivilege privilégios e as BackupRead() / BackupWrite() chamadas.)

    
por 21.08.2011 / 14:06

Tags