permissões alteradas recursivamente

34

Eu executei o comando chown em um diretório:

chown -R user:user {.,}*

O {.,}*é usado com mve cppara incluir arquivos ocultos e listados. Agora, esse comando foi executado e alterou esses dois arquivos no meu diretório, mas tive que interrompê-lo para parar desde que ele prosseguiu. Agora, receio que tenha mudado as permissões em outros arquivos e pastas, pois não foi finalizado.

nicoX
fonte

Respostas:

46

Ao usar {.,}*, você incluiu ambos ./e ../. Juntamente com a -Ropção, sua chownligação estava prestes a navegar por todo o sistema de arquivos (e outros, possivelmente montados) ../. Com outros comandos, esse pequeno erro pode ser bastante mortal, mas acredite, você não é o primeiro e não será o último ...

Como essa operação é bastante pesada, sua chownchamada foi interrompida por um tempo, pois havia muitos arquivos para processar. Eu sugiro que você volte para o diretório em que fez a chamada e volte progressivamente /para ver quais alterações foram feitas. Você pode aplicar uma correção rápida fazendo:

chown root:root /* # Set ownership to root for all directories in /.
chown you:yourgroup /home/you -R # Take your home back.

No Ubuntu, o /homediretório é fornecido ao primeiro usuário (admin / sudo) registrado no sistema. Se você é o único usuário, convém:

chown you:yourgroup /home -R

No entanto, um simples chmod 755on /homeé suficiente, mesmo que pertence a raiz.

Uma rápida olhada diretamente /(incluindo as próprias permissões de root ls -ld /) também seria um bom lugar para começar. Eu sugiro que você verifique se ele /pertence ao root, com um conjunto de permissões 755.

Se você costumava chowndefinir uma propriedade muito específica (um usuário que não seja você ou root, um grupo raro, ...), convém usar findpara procurar por chownarquivos.

find / -user {username}
find / -group {groupname}

Infelizmente, não existe o undoque você fez. O Linux não controla naturalmente essas operações "casuais".

Para obter mais informações sobre o que você estava tentando alcançar, dê uma olhada nesta pergunta do superusuário .

John WH Smith
fonte
Meu diretório raiz parece estar bom. É de propriedade da raiz.
NicoX
Você deve ter matado chowna tempo, mas continue verificando, indo do diretório em que você executou chown, para a raiz.
John WH Smith
O problema aqui foi que eu usei o sinalizador -R? E como você pode alterar o proprietário em um comando para os arquivos ocultos e listados.
NicoX
2
Veja o link que eu adicionei no final da minha resposta. O -Rproblema era esse, já que você também passava recursivamente .., o que acabou levando você a alterar toda a árvore de arquivos de /deep/directory/where/you/chownedpara /.
John WH Smith