Problema Inicialização

Iniciado por tallyson, 27 de Maio de 2016, 12:01

tópico anterior - próximo tópico

tallyson

Pessoal bom dia,

Sou novato por aqui e estou com um problema:

Uso Linux-Mint 32bits (última versão se n me engano é a 'Rosa')

Eu estou desenvolvendo um projeto em php, salvo tudo na minha pasta: home/user/Projetos/Projeto1

Para que eu possa editar os arquivos na minha IDE (PhpStorm) eu tive de setar as permissões da minha pasta 'Projeto1' para 777
só que infelizmente eu alterei as permissões de todos os arquivos da pasta home.

Quando iniciei o sistema depois, veio uma mensagem alertando sobre isso. Então pesquisei na net e alterei as permissões da pasta de novo (se n me engano para 455). Só que agora o sistema não inicia mais. Fica só carregando. Quando dou ctrl+shit+f1 para acessar o terminal de emergência no boot ele também não abre.

Quando tento rodar a inicialização "Recovery Mode" também da erro. "Permission Denied".

Estou cheio de arquivos importantes na distro. E com o projeto parado. Demorei dias pra poder setar o ambiente de desenv completo. (PHP, Ruby, SASS, Laravel, etc...).

Alguém pode me salvar ai? ^^'

druidaobelix

Mas não está conseguindo sequer tornar-se root pelo "Recovery Mode"?
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

tallyson

CitarMas não está conseguindo sequer tornar-se root pelo "Recovery Mode"?

Não... nem isso... eu até entrei no grub e fiz isso:

linux    /boot/vmlinuz-3.16.0-38-generic root=UUID=b1bde976-50e2-4c32-a760-17b091b4202f ro  quiet splash recovery

adicionei o "recovery" e depois ctrl-x

no entanto o sistema só fica no splash screen... nada além disso... ele trava... nem o ctrl+alt+f1 funciona.

druidaobelix

#3
Citação de: tallyson online 28 de Maio de 2016, 10:31
CitarMas não está conseguindo sequer tornar-se root pelo "Recovery Mode"?
Não... nem isso... eu até entrei no grub e fiz isso:
linux    /boot/vmlinuz-3.16.0-38-generic root=UUID=b1bde976-50e2-4c32-a760-17b091b4202f ro  quiet splash recovery
adicionei o "recovery" e depois ctrl-x no entanto o sistema só fica no splash screen... nada além disso... ele trava... nem o ctrl+alt+f1 funciona.


De uma forma direta: o que há a fazer nessas circunstâncias é reinstalar o sistema.

Nada que se faça irá recuperar totalmente o complexo sistema posix de permissões, pode ser até que chegue perto, mas ficar igual ao que era é praticamente inalcançavel.

Mesmo que consiga voltar a entrar no sistema, terá pela frente uma enorme dificuldade para restabelecer o que havia antes de forma exatamente igual, o que significa que de uma forma ou de outra acabará reinstalando. Erros 'chmod R', sobremodo recursivos, são mesmo devastadores.

Como certamente você mais que sabe, os seus arquivos pessoais são facilmente recuperáveis subindo o sistema por um live-iso e os copiando para algum outro lugar, já as configurações implementadas do ambiente do seu projeto terá que refazer na reinstalação, é mais simples isso do que ficar 'batendo cabeça' e não conseguir chegar em algo bem feito.

Se ainda quiser dar mais um "tiro", suba o sistema pelo live-iso (pendrive ou cdrom), monte a unidade (que, claro, vai ficar dentro do /media) e dentro da /media/ubuntu/id_do_seu_disco/home/user_original experimenta alterar:

mv .cache .cache-original

mv .ICEauthority .ICEauthority-originalmv .Xauthority Xauthority-original

mv .profile .profile-original

mv .Xauthority Xauthority-original

Isso talvel apenas possibilite acessar novamente, mas não irá resolver a essência do problema, que é a alteração indevida  feita nas permissões da /home, que vai continuar defeituosa.

Isso posto, inicie o sistema novamente e se não subir para o modo gráfico, pode apagar os parâmetros quiet e splash da cmdline e acrescentar o recovery, como já fez, para ver se alcança um prompt suficiente para trabalhar.

Se nada disso funcionar, então vai ter que usar o chroot

Mas insisto, nada vai fazer retornar ao estado de permissões que havia anteriormente, será uma enorme trabalheira para chegar a lugar nenhum.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Esquece esses comandos que passei no post #3 anterior, agora consegui concretamente testar aqui e não deu certo.

Na verdade não consegui simular exatamente a situação que você diz que criou

Ao usar o chmod 777 de forma recursiva, cria vulnerabilidades mas não torna inacessível.
Se usar o chmod 455 recursivo, não chega a ser um grande problema.
Talvez você tenha usado o sudo para o seu próprio usuário, ou seja o sudo chmod 455 recursivo, aí sim faz um estrago.
O estrago é iniciar, chegar na tela de login gráfico, aparece o nome do usuário, mas não adianta colocar a senha que não vai.
Isso, em si, não seria um grande problema se conseguisse chegar num prompt, mas você diz que não consegue de forma alguma, o que realmente cria um problema.
Pois bem,  o que consegui simular aqui foi usar o "sudo chmod 455 recursivo" porém em todas as situações consigo chegar num prompt, seja através do uso do Ctrl Alt F1 simultâneos, seja iniciando pelo Recovery Mode.
Bem, não sei dizer porque aí não vai para um prompt, para poder simular deixei dessa forma mesmo (como se não conseguisse ir para um prompt, embora conseguindo) e vamos por um outro método mais simples para reaver o acesso.

Continua no próximo post....
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

#5
Então inicie o sistema através de um live-iso (pendrive ou cdrom).

O usuário normal do live-iso é o "ubuntu" numa máquina de nome também "ubuntu", dessa forma : ubuntu@ubuntu:~$

Para a finalidade do que vamos fazer e o sudo usado com o usuário-padrão "ubuntu" não fique "grudado" nos arquivos que iremos alterar as permissões no diretório /home da partição original, vamos usar um artifício.

Crie um novo usuário no ambiente do live-iso **com o mesmo nome** daquele seu usuário original do sistema em disco.

Para efeitos de exemplo vamos imaginar que o seu usuário na instalação do disco tenha o nome de 'pedro', então no live-iso vamos criar também um usuário com esse mesmo nome:

sudo adduser pedro

Vai pedir senha, confirmar senha, etc e tal, usuário 'pedro' criado no live-iso

Inclua o usuário 'pedro' no grupo sudo

sudo adduser pedro sudo

pronto, agora o 'pedro' está habilitado a fazer tudo no sistema, já que ele está no grupo sudo.

Reinicie a **sessão** (obivamente não o sistema) no live-iso e agora inicie com o usuário 'pedro' recém criado.

Mande o 'pedro' criar um diretório provisório dentro do diretório ja existente /media, assim:

sudo mkdir /media/prov

Agora faça o pedro montar o seu disco onde está o sistema original daquele diretório prov criado anteriormente:

sudo mount /dev/sdxn /media/prov

sdxn substitui o 'x' pela letra concreta da unidade e o 'n' pelo identificador concreto da partição em que seu sistema Ubuntu está instalado, por exemplo:

sdxn = sda3

Nesse caso do exemplo o comando concreto seria?

sudo mount /dev/sda3 /media/prov/

ou seja, o sistema está na partição 3 do disco sda, enfim, precisa montar a partição onde o seu Ubuntu está instalado.

Agora entre lá onde foi montado:

cd /media/prov/home

confirme (para não errar de novo e fazer mais um chmod errado) se está mesmo no /home do disco original montado em /media/prov fazendo:

pwd

deve aparecer a posição atual do seu usuário:

/media/prov/home

agora altere as permissões da sua pasta /home da instalação original alterando-a para a mesma situação que antes do 455:

sudo chmod -R 777 /media/prov/home/pedro

(lembrando que o pedro de cá é o mesmo nome do pedro de lá)

Não se deve, em regra, usar um chmod 777, não há uma razão lógica para isso, porém no caso é apenas para retornar um passo no erro já cometido anteriormente, embora talvez você pudesse fazer ao menos 775 sem maiores dificuldades.

Agora reinicie o sistema pela sua instalação original

Poderia usar o chroot para fazer isso, mas assim é um 'jeitão' fácil de alterar. :-)

Aqui funcionou, tendo antes alterado para o chmod 455 recursivo e bloqueado na tela de login, assim fazendo consegui novamente acesso ao sistema.

Claro que isso, como já dito, não resolve a questão original de ter "estragado" as permissões originais de toda sua /home e do ambiente de desenvolvimento que lá havia (a solução de fato é reinstalar), mas ao menos deverá conseguir ter acesso novamente.

Experimente aí.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.