AVISO - NÃO EXECUTE O COMANDO MENCIONADO
Parece que fiz algo bem idiota aqui para dizer o mínimo. Eu estava tentando alterar as permissões de alguns arquivos em um diretório que começou com .
a leitura / gravação apenas no sudo / root.
Minha tentativa de alterar vários arquivos ao mesmo tempo parece ter feito algo terrivelmente global. Enquanto estava dentro de um diretório (não estava no diretório raiz), corri sudo chmod 600 .*
e estou postando isso no meu telefone agora ... Ainda tenho a janela do terminal aberta no momento, mas tenho certeza de que o laptop funcionará Para dormir, eu terminei completamente. Hilariamente, isso significa que há uma ligeira urgência nessa questão.
Ah, e isso parece ter mudado de permissões em quase todos os lugares que eu acho. Não consigo nem executar os comandos ls
ou cd ..
. Uma tentativa cd /home/brian
ou cd ~
erro, bash: cd: /home/brian: Permission Denied
e qualquer tentativa de sudo
comando apenas dizbash: /usr/bin/sudo: Permission Denied
Eu tenho medo de reiniciar, não tenho idéia se existe alguma recuperação embutida em algo tão burro, mas achei que tentaria perguntar aqui antes de piorar as coisas. Eu sou um Linux bem novo, pois meu sistema operacional principal converte e venho defendendo isso um pouco ultimamente, mas ai, esse aqui dói um pouco. Qualquer pensamento sobre o que tentar seria imensamente apreciado.
Edição: Eu queria fornecer esclarecimentos sobre como / onde este comando foi executado. Isso foi executado a partir de /.atx $
apenas um diretório arbitrário, mas mais detalhes abaixo.
Enquanto estava logado como meu nome de usuário comum brian
, eu tinha um terminal aberto /.atx
contendo três arquivos somente de texto do tipo de configuração. Cada nome de arquivo iniciado com um .
. Esse diretório / nome / os arquivos não fazem parte de um pacote comum, apenas um conjunto arbitrário de configurações que eu estava movendo programaticamente. Os arquivos continham algumas informações de cadeia de conexão do servidor SQL e só queriam que fossem semi-obscurecidos.
.*
comando expandido para incluir ..
o diretório pai do diretório em que você estava. Se você estivesse, por exemplo /home/brian
, as permissões de /home
seriam definidas como 600 e você não teria permissões para procurar no /home
diretório -Lo em seu terminal aberta pode executarls -ld /*
/root
não estava lá/
quando fez isso (pelo que vejo na sua pergunta), o que significa que a própria pasta.*
capturada glob/root
(as.
referências ao diretório de trabalho atual) junto com todos os arquivos / diretórios que começam com o ponto inicial. Não tenho certeza se existe uma maneira de alterá-lo do seu sistema, mas você provavelmente pode inicializar a partir de um USB ativo e desfazer as coisas a partir daí. Não tome como resposta 100%, apenas um pensamento.