Chroot com SFTP

Neste novo tutorial irei mostrar como fazer um ambiente seguro com SFTP o sistema de transferência de arquivos sob o SSH. Nele poderemos ter um acesso controlado apenas ao ambiente do usuário sem acesso root.

Vamos seguir os comandos agora onde o nome de usuário usuario deve ser substituido pelo nome de usuário que você quizer. 

groupadd sftponly
useradd usuario
passwd usuario
usermod -G sftponly usuario
mkdir -p /var/www/vhosts/usuario/httpdocs
chown usuario /var/www/vhosts/usuario/httpdocs
usermod -d /var/www/vhosts/usuario usuario
usermod -s /bin/false usuario

Feito isto vamos abrir o arquivo de configuração do SSH e adicionar as seguintes linhas abaixo:

Subsystem sftp internal-sftp
     Match group sftponly
     ChrootDirectory %h
     X11Forwarding no
    AllowTcpForwarding no

Agora reinicie o ssh com o comando:

/etc/init.d/ssh restart

pronto! você já terá seu ambiente controlado

Removendo pacotes RC no Ubuntu/Debian

A ideia hoje é remover todos os pacotes marcados com RC pelo Apt-Get. Para começar precisamos primeiramente encontrar quais são os pacotes que estão marcado com este prefixo:

sudo dpkg -l | grep "^rc"

Depois para remover todos os pacotes execute

  • sudo apt-get remove --purge $(sudo dpkg -l | grep "^rc" | awk '{print $2}' | tr '\n' ' ')

Determinando o PID de uma porta no macOS

Existem diversas formas de identificar o id de um processo nas plataformas baseadas em Unix. No caso do macOS uma forma de determinar o PID que está relacionado a uma determinada porta é usando o lsof.

No exemplo a seguir nós vamos determinar qual o PID do processo que está rodando na porta 4200 que é uma Angular Development Server.

Ex:

lsof -i:4200 -t

Usando o Proxy reverso do Apache para carregar aplicação NodeJS

A ideia aqui é simples, você tem uma aplicação NodeJS que está rodando na mesma máquina na porta 4000 e quer carregar esta aplicação na porta :80 para carregar como site principal permitindo uma melhor experiência de navegação para o usuário.

Bom primeiramente vamos deixar a aplicação rodando no NodeJS. Para isto podemos utilizar aplicações que gerenciam isto como o PM2.

Adicionando isto é necessário que você entre dentro do seu VirtualHost do Apache e adicione as seguinte linhas abaixo. Lembrando que no nosso exemplo a aplicação em NodeJS está rodando na porta 4000

 ProxyPass / http://0.0.0.0:4000/
 ProxyPassReverse / http://0.0.0.0:4000/

Básicamente é isto a configuração. Lembre-se de sempre resetar o Apache para que as alterações tenham efeito.