Preservar a chave de permissão não funciona com o cp?

3

Copiar o arquivo do diretório de outro usuário com a opção '-p' deve reservar a permissão de acordo com a página do manual.

Estou copiando / etc / passwd para meu diretório pessoal com a opção -p, mas as permissões não são preservadas da seguinte forma: -

ijoin@stream:~$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1813 Sep 25 08:58 /etc/passwd
ijoin@stream:~$ cp --preserve /etc/passwd .
ijoin@stream:~$ ls -l passwd 
-rw-r--r-- 1 ijoin ijoin 1813 Sep 25 08:58 passwd

Estou fazendo algo errado?

    
por Ankit 28.09.2012 / 05:47

1 resposta

4

Você está logado como ijohn e copiando um arquivo de propriedade de root . O comando cp não pode contornar o mecanismo de segurança do Linux - seu usuário não tem permissão para criar arquivos de propriedade de root ou alterar os proprietários de arquivos para root . Isso seria um problema de segurança.

Se você precisar copiar arquivos de propriedade de outros usuários, use sudo :

sudo cp --preserve /etc/passwd

Aqui está uma boa explicação que encontrei em linuxquestions.org :

  

o argumento -p funciona para todos os usuários na restrição dos usuários   habilidades no sistema. usuários geralmente não-root será capaz de   preservar a propriedade de seus arquivos que eles possuem e são de propriedade de um   grupo ao qual o usuário não root específico pertence. eles não podem preservar   propriedade de arquivos de propriedade de outros usuários (embora possa haver   em torno disso, dependendo do suid, guid e sticky bits). raiz pode   preservar a propriedade de arquivos pertencentes a usuários diferentes, porque   tem privilégios de sistema completo. mas joe_schmoe não pode preservar o   propriedade de arquivos de propriedade de raiz ou arquivos pertencentes a billy, etc.   dependendo de onde o arquivo será copiado para, joe_schmoe só pode   preservar a propriedade de arquivos pertencentes a joe_schmoe e pertencer a um   o grupo joe_schmoe pertence a.

    
por Sergey 28.09.2012 / 06:28