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.
fonte
/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..*
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 /*
Respostas:
Uau, a recuperação aqui foi realmente mais suave do que eu esperava e tudo parece em boa forma novamente.
Muito obrigado a @CharlesGreen por uma explicação de como esse comando estendeu um diretório. Agradeço também ao @Panther por informações sobre como entrar no modo de recuperação para um problema relacionado. (se vocês dois quiserem compartilhar seus comentários novamente como respostas, eu os atualizaria)
Felizmente, ao contrário do post vinculado, isso parece ter tido uma correção muito direta. Parece que quando eu corri o
sudo chmod 600 .*
comando de apenas um diretório sob/
expandiu a.*
parte UP para as verdadeiras permissões diretório raiz alteração de.
partir/
causando qualquer outra permissão para cair.A "correção" para isso era inicializar no modo de recuperação, remontar a unidade como leitura / gravação, acessar a raiz principal (
cd /
) e depoischmod +rx .
. Após uma reinicialização, tudo parece voltar ao normal.Moral da história, a execução de um comando no
.*
pode às vezes afetar o diretório ACIMA do atual. Eu pretendia impactar apenas arquivos que começaram com.
... oops.Muito obrigado a todos que comentaram e ajudaram.
fonte
..
corresponde ao.*
glob..
ou..
na expansão de.*
por padrão.Só para esclarecer aos futuros leitores que podem se deparar com isso como a resposta aceita, há preocupações com a
chmod +x
solução como uma solução geral. Essa pergunta específica parece ter sido o diretório inicial do usuário, portanto algumas das preocupações abaixo podem ser baixas, mas se isso foi aplicado a um servidor de negócios e afetou vários usuários ou outros diretórios de dados, a solução não é sugerida.No lado positivo , essa etapa permitiria ao usuário recuperar o acesso aos arquivos para que eles pudessem ser copiados para uma mídia de backup para evitar mais perdas. E no final do dia, esse é o objetivo principal durante qualquer esforço de recuperação de dados.
A maior preocupação é que os arquivos originais possam ter permissões específicas aplicadas que estão faltando agora. Alguns programas - especificamente ssh - aplicam permissões de arquivo para garantir ainda mais sua segurança e não funcionarão se a
+rw
permissão estiver definida em sua pasta e arquivos.Outra preocupação é que, se isso for aplicado na
/
pasta raiz ( ) recursivamente, haverá outros arquivos que poderão ser abertos para qualquer pessoa no sistema exibir e modificar. Em um ambiente comercial em que o servidor pode conter dados confidenciais (informações sobre PCI / financeiro ou assistência médica / HIPAA), esse acesso pode levar a resultados e repercussões da auditoria.Em um ambiente pessoal / doméstico, essa recuperação é provavelmente perfeitamente aceitável. Apenas observe que algumas coisas podem ser quebradas silenciosamente ou agir de maneira estranha.
Em um ambiente de negócios, o uso dessa recuperação para recuperar o acesso aos dados pode ser usado, mas, finalmente, qualquer mudança drástica como essa deve ser resolvida reinstalando o servidor e recuperando-se de um backup.
( Você tem um backup atual, não é? ;-) )
fonte
/
e não entrassem em cascata recursivamente em nenhum outro diretório. Também digno de nota, este foi apenas no meu laptop pessoal e, embora eu possa ter perdido parte do trabalho de um dia (ainda não havia feito um empurrãozinho no git), seria apenas um grande aborrecimento e aborrecimento reinstalar o meu "usuário" relacionado formulários. Se fosse um servidor de qualquer tipo, eu geralmente concordaria, menos tempo e esforço para apenas limpar / reconstruir.