Como bodhi.zazen diz , você deve inicializar para o modo de recuperação e altere as permissões de volta. O modo de recuperação ainda deve funcionar bem - é improvável que essa alteração o torne inutilizável - mas, se por algum motivo você não puder usar o modo de recuperação, poderá usar um CD / DVD / USB ativo.
Mantenha pressionada a tecla shift durante o boot para que o menu GRUB seja exibido. Selecione Opções avançadas para o Ubuntu e, em seguida, selecione a primeira entrada cujo nome termine em (modo de recuperação) . Em seguida, no menu de recuperação, selecione a opção rotulada:
root Drop to root shell prompt
Isso deve fornecer um prompt do shell de raiz # . Remontar seu / filesystem readwrite executando:
mount -o remount,rw /
(Observe que você não precisa de sudo para isso - nem para os comandos chmod abaixo - porque você já está em um shell raiz, fornecido a você pelo modo de recuperação).
Supondo que as únicas alterações que você fez foram executar permissões, basta executar:
chmod a+x /home
chmod -R u+X /home/tom
+X define permissões de execução especificamente quando um arquivo já é executável por algum usuário ou um diretório (veja man chmod para detalhes; observe que capital +X é diferente de +x , que sempre define permissões de execução). Nos diretórios, as permissões de execução conferem a capacidade de entrar no diretório. Perder essa capacidade parece ser o que tem efetivamente bloqueou sua conta.
- Já que você apenas tirou as permissões executáveis, não há nenhuma necessidade de andar na hierarquia de diretórios com um
findcomando e identifica cada arquivo por tipo para alterar suas permissões . Executarchmodrecursivamente com+Xtornará todos os diretórios "executáveis" (isto é, editáveis) pelo proprietário novamente, o que é exatamente o que você precisa aqui. (Não há nada realmente errado com um métodofind-based, como o apresentado na resposta de tfmertz - de qualquer forma irá funcionar bem por si só. E se você fez as duas coisas, tudo bem também.)
Em seguida, inicialize normalmente, seja executando reboot ou executando exit (o que o leva de volta ao menu de recuperação) e selecionando a opção currículo .
Esses comandos chmod não necessariamente retornam as coisas para exatamente o que eram antes - para isso, provavelmente seria necessário ver qual comando você executou (mas você pode ser capaz de para descobrir isso executando history depois de fazer login novamente). No entanto, isso provavelmente será suficiente para permitir que você faça login e use seu sistema Ubuntu normalmente novamente.
Esta situação e a solução são semelhantes à situação mais comum em que o único administrador de um sistema perdeu sua senha. Assim, enquanto você está alterando permissões ao invés de uma senha e a solução não é exatamente a mesma, você pode achar útil dar uma olhada em esta outra questão ) sobre como acessar seu sistema a partir de um live CD / DVD / USB deve ajudar.