segunda-feira, 23 de novembro de 2015

Kepass2 atualizado via repositório PPA

Dica interessante que encontrei pra manter o Keepass2 pra Linux atualizado:

FYI, the Debian/Ubuntu keepass2 package maintainer has a PPA that he keeps up to date with the latest KeePass version at https://launchpad.net/~jtaylor/+archive/ubuntu/keepass.
I also maintain a PPA for some KeePass 2.x plugins at https://launchpad.net/~dlech/+archive/ubuntu/keepass2-plugins.

sábado, 21 de novembro de 2015

Corrigir Problema de Resolução no Elementary OS Freya

Recentemente instalei o Elementary OS versão Freya no meu desktop e tive o seguinte problema: o sistema não reconhecia minha TV de 42 polegadas corretamente e fica enorme as coisas.

Consegui resolver digitando: gsettings set org.gnome.desktop.interface scaling-factor 1

no terminal como usuário normal sem usar sudo e etc.

Fica a dica!!

quarta-feira, 18 de novembro de 2015

Como mudar a velocidade do Scroll do mouse no Ubuntu

Durante anos procurei uma solução pra algo que considero um problema no linux que é não permitir definir a quantidade de linhs que podemos rolar com o scroll do mouse.

Finalmente encontrei a solução!!

O nome do programa é imwheel.  Abra o seu terminal e instale facilmente:

sudo apt-get install imwheel

Depois de instalado, mate o processo pra ter certeza que ele não estará em execução:

killall imwheel

Agora edite o arquivo .imwheelrc

Caso ele não exista na sua home, não tem problema basta executar

gedit .imwheelrc

E agora basta inserir o seguinte conteudo:

".*"
None, Up, Up, 3
None, Down, Down, 3

Salve e volte no terminal e execute o programa simplismente digitando: 

imwheel

Com isso você reduz consideravelmente as chances de ter LER rsrs.


Achei esse dica no blog Dio Linux: http://www.diolinux.com.br/2015/04/como-mudar-velocidade-do-scroll-do-mouse-ubuntu.html
".*"
None, Up, Up, 3
None, Down, Down, 3
".*"
None, Up, Up, 3
None, Down, Down, 3
imwheel

terça-feira, 17 de novembro de 2015

Limitando Acesso ao seu Site pelo IP Conectado Via SSH

Tenho que criar um script que carregue meu IP atual sempre que eu fizer login via SSH.

Esse IP vai ser jogado pra um arquivo no seguinte formato:

Alow from IP-que-script-pegar

E ae vou dar um Deny All no final do arquivo de configuração do apache.

Pra fazer o script que pega o IP da conexão SSH vamos usar uma variável de aplicação.

A variável $SSH_CLIENT tem como saída o seguinte texto:
201.2.31.238 56377 22

Pra que o meu script dê certo, preciso que fiquei apenas o IP, ou seja, a primeira coluna.  Pra isso vamos modificar o comando echo $SSH_CLIENT adicionando um carinha chamado awk.  Veja como fica:

# echo $SSH_CLIENT | awk '{ print $1 }'
# 201.2.31.238

o Print $1 mostra apenas a primeira coluna, o seja o IP.  Pronto agora ficou fácil.

Script

#!/bin/bash
ip_ssh=($(echo $SSH_CLIENT | awk '{ print $1 }'))
echo allow from $ip_ssh > /etc/apache2/myip
wait
service apache2 reload
/bin/bash

Agora ele vai escrever no arquivo meuip o seguinte texto:

allow from 201.2.31.238

Importante observar que quando colocamos o parametro '>' ele sempre vai escrever na primeira linha do arquivo.  Se colocarmos '>>' ele sempre irá escrever abaixo da última linha.  No meu caso quero que ele deixe apenas o meu IP atual no arquivo por isso usei o '>'.

Mas ainda não acho que esse script esteja bom o suficiente.  Imaginem a situação, sempre que eu fechar a conexão SSH e abrir novamente ele irá executar o script e consequentemente irá reiniciar o apache.

Seria mais interessante se ele reiniciasse o apache apenas se meu ip tivesse mudado nos casos onde houvesse queda de conexão, por exemplo.

Então vamos fazer uma pequena modificação:

#!/bin/bash
ip_ssh=($(echo $SSH_CLIENT | awk '{ print $1 }'))
ip_antigo=($(cat ~/.myscripts/checkip/myip | awk '{ print $3 }'))
checkip(){
        if [[ ${ip_ssh} != ${ip_antigo} ]]; then
                echo allow from $ip_ssh > ~/.myscripts/checkip/myip
                sudo /etc/init.d/apache2 restart
        fi
}
checkip
/bin/bash

ATENÇÃO: Muito cuidado para não deixar de adicionar o comando /bin/bash ao final do arquivo.  Esse comando é o responsável por fechar o script e voltar ao SSH.  Caso contrário, após se conectar e executar o script, o SSH irá sempre fechar.

Agora SE os Ips forem iguais, ele vai apenas enviar a mensagem 'são iguais' e vai enviar isso pra um arquivo vazio.  Agora se forem diferentes, ele irá escrever o nome ip no arquivo 'myip' e reiniciar o apache.

Setamos as permissões de execução ao script:

sudo chmod a+x  /usr/local/bin/checkip

Só que se eu deixar desta forma, ele não vai ficar legal pois quando chegar na linha que reinicia o apache, vai pedir a senha do Administrador (sudo). Então para que ele não peça senha alguma e execute vamos fazer o seguinte: no terminal digitamos:  sudo visudo

Ao final do arquivo iremos adicionar a seguinte entrada:

kaput ALL = NOPASSWD: /etc/init.d/apache2

Ou seja, toda vez que o usuário kaput digita sudo /etc/init.d/apache2 restart o sistema irá executar o comando sem perguntar o password (NOPASSWD).


A primeira parte já foi agora só resta dizer pro servidor SSH executar esse script toda vez que uma nova conexão for feita no SSH.

Pra isso vamos editar o arquivo ~/.profile: nano ~/.profile

E adicione ao final do arquivo o comando que chama nosso script: checkip

Pronto, agora vamos finalmente pro ultimo passo que é a configuração do apache.

Basicamente ficou assim:
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www

    <Directory /var/www>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Include /home/kaput/.myscripts/checkip/myip
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Dentro do arquivo myip esta a configuração que permite apenas o meu IP conectado atualmente via SSH.

Em adição a isso, ainda podemos configurar um usuário e senha e dizer para o apache satisfazer as duas exigências.

Missão cumprida!!