Como alguns dos arquivos em /etc
podem não pertencer a root
, se você quiser evitar a reinstalação, poderá fazer o seguinte:
-
Inicialize em um sistema ativo e monte a partição que contém o diretório
/etc
. Por exemplo, se sua partição/
for/dev/sda1
, você faria isso a partir do sistema ativo:sudo mount /dev/sda1 /mnt
-
Defina a propriedade de todos os arquivos para
root
:sudo chown -R root /mnt/etc
-
Neste ponto, todos os arquivos pertencem ao root. Provavelmente, isso é o que você precisa, mas alguns arquivos em
/etc/
podem ter uma propriedade diferente. Se esses arquivos também não forem de propriedade do root no sistema ativo, você poderá usá-los como referência para alterar as permissões no sistema instalado:shopt -s globstar liveSystem="/etc" cd /mnt/etc for file in **/*; do [ -e "$liveSystem/$file" ] && echo sudo chown --reference "$liveSystem/$file" "$file" done
Se você também alterou as permissões, faça isso:
shopt -s globstar liveSystem="/etc" cd /mnt/etc for file in **/*; do [ -e "$liveSystem/$file" ] && echo sudo chown --reference "$liveSystem/$file" "$file" && echo sudo chmod --reference "$liveSystem/$file" "$file" done
Isso apenas imprimirá qual comando seria executado. Uma vez que você tenha visto o que isso faz e esteja certo de que está correto, remova o
echo
para realmente executar os comandos.Agora, isso itera todos os arquivos, incluindo aqueles cuja propriedade é
root
nos dois diretórios, mas isso não importa. Você poderia escrever uma abordagem mais sofisticada, mas não vale a pena, pois isso levará alguns segundos. -
Reinicialize sua máquina: tudo deve voltar ao normal.
IMPORTANTE : isso não ajudará se você instalou algo que não está no sistema ativo e cujos arquivos em /etc
não pertencem a root
. Se este for o caso, você precisará localizar o que instalou e reinstalá-lo ou talvez seja necessário reinstalar o sistema.