Como copiar a permissão da raiz para o usuário atual?

3

Eu cometi um erro. Eu copiei um diretório com muitos subdiretórios e arquivos usando o comando sudo. Consequentemente, apenas o root tem permissões para fazer qualquer coisa com os arquivos.

Posso, de alguma forma, duplicar as permissões para fazer o root de todos / de mim mesmo, de maneira recursiva?

    
por daltonfury42 01.07.2015 / 18:42

1 resposta

10

Copiar as coisas como root fará com que as coisas se tornem propriedade do root (gksudo, acho que é apenas para impedir que as configurações do programa, etc, se tornem propriedade do root - consulte aqui ) - você deve conseguir consertá-lo usando o seguinte:

sudo chown -R $USER:$USER /<PATH>/<TO>/<COPIED>/<FOLDER>

  • Usa chown
  • -R recursivamente modifica diretórios e arquivos
  • $USER é substituído pelo seu nome de usuário pelo shell (linha de comando, bash etc), então ele diz para fazer os IDs de usuário e grupo dos arquivos e pastas do usuário.
  • Realiza no caminho especificado - por exemplo, /<PATH>/<TO>/<COPIED>/<FOLDER> . Não faça isso apenas em / , /usr etc, pois isso provavelmente quebrará o sistema.

Por exemplo:

$ touch file
$ sudo cp file filert
$ ls -l | grep file
-rw-rw-r--.  1 wilf wilf         0 Jul  2 09:42 file
-rw-r--r--.  1 root root         0 Jul  2 09:43 filert

Os comandos acima. crie um arquivo chamado file , copie-o como raiz para filert e exiba as propriedades do arquivo. Quando os arquivos são copiados como root, o arquivo resultante deve ser de propriedade de root - foi o que aconteceu com seus arquivos. Com o exemplo acima, filert pode ser usado por um usuário normal usando:

$ sudo chown $USER:$USER filert 
$ ls -l | grep file
-rw-rw-r--.  1 wilf wilf         0 Jul  2 09:42 file
-rw-r--r--.  1 wilf wilf         0 Jul  2 09:43 filert
    
por Wilf 02.07.2015 / 10:57