No linux, como fazer uma lista de arquivos pertencentes a um determinado proprietário e, em seguida, consertar o grupo e o proprietário?

2

Eu tenho um sistema de arquivos profundo e complexo, onde alguns arquivos foram gravados acidentalmente pelo root. Quero alterar a propriedade desses arquivos de volta para o proprietário original de uma só vez.

Eu estou jogando com comandos como:

find /folder -type f | xargs ls -l | grep "root root" 

mas há muito lixo saindo também.

Eu quero fazer uma lista primeiro e depois alterar apenas os arquivos da lista após a confirmação.

    
por Stuart Woodward 29.03.2012 / 12:02

3 respostas

9

find /folder -type -f -uid 0 

encontrará todos os arquivos no diretório de propriedade de root, -user root também funcionará, naturalmente.

Se todos os arquivos abaixo de /folder pertencerem ao mesmo usuário / grupo, você poderia simplesmente fazer uma recursiva chown :

chown -R user:group /folder
    
por 29.03.2012 / 12:10
3

Use

find /folder -uid 0 >/tmp/root.files

para obter uma lista de arquivos de propriedade do root. Depois de revisar a lista, você pode usar

while read file 
do
    chown user:group "$file"

done </tmp/root.files
    
por 29.03.2012 / 12:19
1

Como nas outras respostas, use find com -uid 0 ou -user root para localizar arquivos pertencentes ao root. Em seguida, use a ação -exec :

find /folder -type f -uid 0 -exec chown root:root {} \;

    
por 29.03.2012 / 12:54