Como alterar a permissão / var / File quando não consigo conectar ao servidor através do Filezilla ou do Putty

0

Bem, eu sou novo no Linux. E eu fiz algo estúpido o suficiente para me causar problemas.

Então, o problema é que tenho uma conta da AWS e estava funcionando bem, exceto pelo meu serviço de renderização em PDF. Eu descobri que tinha algo a ver com permissões de arquivos.

Então, usei os seguintes comandos:

cd /var/

find . -type d -exec chmod 0775 {} \;

find . -type f -exec chmod 0644 {} \;

O problema de renderização de PDF foi resolvido, mas agora não consigo me conectar ao meu servidor nem com o Filezilla nem com o putty.

Eu sei que tenho que alterar minha permissão de /var para 755. Mas não sei onde alterar isso.

O que devo fazer em seguida para me conectar ao meu servidor?

Se eu criar um novo par de chaves para a minha instância existente, posso ssh through putty?

    
por Ankit Rauthan 19.04.2018 / 12:51

2 respostas

0

Como você não tem acesso à VM atualmente : Se você estiver usando um volume EBS, poderá desligar a instância e conectar o disco a outra instância. Em seguida, você precisa montar os discos em um diretório (digamos, /recover ) e chroot nesse diretório. Você pode então tentar outros processos de recuperação.

Se forem partições simples, as montagens não devem ser especialmente difíceis. (Se você souber o suficiente para instalar o Arch ou o [Gentoo]) ( link )) provavelmente /dev/sdb* ). Se o LVM estiver envolvido, ele se torna mais complicado ... Começar com ls /dev/sd* e mount /dev/partition /recover é um começo ... Mas conseguir alguém que saiba o que está fazendo pode ser uma boa ideia ...

Uma vez que você tenha um prompt na instância : Se estiver executando a distribuição Amazon, ou outra distribuição baseada em RPM, comece redefinindo as permissões para os valores dos pacotes rpm usando: ( via )

for p in $(rpm -qa); do rpm --setperms "$p"; done
for p in $(rpm -qa); do rpm --setugids "$p"; done

Remover permissões de gravação de grupo de todos os arquivos com chmod 644 provavelmente impede que qualquer servidor FTP e OpenSSH grave em arquivos em / var usados para acompanhar as sessões. (OpenSSH também é paranóico e se recusa a fazer coisas se a segurança pode ser comprometida devido a permissões muito grandes (como a permissão 775 em todos os diretórios))

Depois, tente descobrir quais permissões o aplicativo com falha deseja (para aplicativos de linha de comando, é possível verificar quais chamadas de sistema falham com problemas de permissão com truss ou strace ; caso contrário, talvez seja necessário configurar a auditoria para ver as tentativas de acesso com falha) e altere as permissões mínimas para que ele funcione. (O SELinux também pode ser um fator, audit2why e audit2allow podem informar quais políticas estão envolvidas e como corrigi-las)

    
por 19.04.2018 / 14:40
-1

@Gert Obrigado amigo, sua resposta me mostra o caminho que como posso resolver este problema. Bem, eu não vou dizer que o meu caminho está certo porque eu sabia que o problema era exatamente, e é assim que eu lidei com ele. Você pode pegar a idéia e fazer de acordo com o seu problema.

Então, aqui está o que eu fiz: -

1) Crie uma nova Instância da AWS, diga Instância de demonstração.

2) Pare sua instância original, diga Instância de produção.

3) Agora, separe seu volume de produção de sua Instância de produção.

4) Anexe seu volume de produção com sua demo. O nome do Instance.Device será / dev / sdf (por padrão, não altere-o).

5) Agora Na putty crie uma nova conexão com a Instância demo.

6) Agora siga estes comandos: -

sudo su (Get Root Privilage)
mkdir /mnt/tmp (Create Directory)
lsblk (To check the disks)
mount /dev/xvdf1 /mnt/tmp (To access the original volume)
cd /mnt/tmp/var/ (Get Into The Var directory Of The original volume)
find . -type d -exec chmod 0755 {} \; (Change Permissions Of The var 
                                       directory,Which was the main problem 
                                       due to which I was Unable To SSH Into 
                                       my server)
umount

7) Pare sua instância demo, desanexe seu volume original da instância demo.

8) Anexar seu volume original com a instância de produção, iniciar o original    Instância.

9) Agora eu fui novamente capaz de ssh no meu servidor.

Obrigado, Gert foi por causa de sua resposta e unidade de solução de montagem, eu era capaz de resolver este problema.Cheers

    
por 24.04.2018 / 10:52