Downgrade de pacote com yum

Posted: April 29, 2015 in Comandos, Linux
Tags: , , ,

Hello there!

Recentemente, fiz o update de alguns pacotes que enviam informações para um serviço específico de monitoramento. Só que ao fazer a atualização, o novo pacote “se perdeu” entre as informações e o monitoramento passou a não colher mais as informações corretamente.

Comando para checar qual o pacote está instalado e a versão:
# rpm -qa | grep package

Solução imediata foi fazer o rollback. E a primeira solução que escutei foi: “Remova os pacotes sem as suas respectivas dependências e depois instale a versão mais atiga de novo”.
Não fiquei muito contente com o que escutei, então achei a seguinte solução:

# yum history
Plugins carregados: fastestmirror, presto
ID | Usuário de login | Data e hora | Ação(ões) | Alterad
——————————————————————————-
27 |  User <centos> | 2015-0X-XX 17:00 | Update | 6
26 |  User <centos> | 2015-0X-XX 16:58 | Install | 2
25 |  User <centos> | 2015-0X-XX 13:59 | Install | 9
Esse comando mostra as últimas execuções que foram feitas com o comando yum.
E eu literalmente uso (quase) esse mesmo comando, para desfazer a atualização de pacotes:

# yum history undo 27

Com este comando acima, listo os últimos yum’s que rodaram e peço para desfazer a execução do ID 27 (que é a referente ao update).

E então, ele simplesmente desfaz o upgrade que tinha feito antes! \o/

Para confirmar, basta dar um yum history de novo e checar a ação que ele executou:
# yum history
Plugins carregados: fastestmirror, presto
ID | Usuário de login | Data e hora | Ação(ões) | Alterad
——————————————————————————-
28 | User <centos> | 2015-0X-XX 19:03 Downgrade | 6
27 | User <centos> | 2015-0X-XX 17:00 | Update | 6
26 | User <centos> | 2015-0X-XX 16:58 | Install | 2
25 | User <centos> | 2015-0X-XX 13:59 | Install | 9

E depois confirmar a versão do pacote com o:
# rpm -qa | grep package

E fim 🙂
Adorei este comando e espero que ajude vocês também quando for necessário!

Advertisements

Nagstamon

Posted: April 20, 2012 in Comandos, Diversos, Linux
Tags: , , ,

Se você tem um nagios na rede e sempre tem que dar uma espiadinha nele para ver se tem algum alarme e etc, você pode usar um carinha chamado Nagstamon.

Claro que você pode configurar o Nagios pra enviar email, sms etc. Mas se você não olha emails direto e também não liga muito para os sms que chegam, você instala esse nagstamon e ele fica no canto no Painel da sua máquina e então atualiza constantemente e mostra os alarmes que estão rodando pra você.

Olha só um exemplo simples que ta aqui na minha máquina agora:

E quando você passa a barra por cima do Warning, ele mostra mais detalhes:

Pra instalar esse cara (to usando Debian), basta executar um aptitude install nagstamon.

Depois de instalado vá em Aplicativos -> Sistema e abra o programa.

Aparecerá uma tela como essa:

Nem vou ficar explicando o que tem que colocar em cada campo, porque são bem sugestivos 😛

E fim! Só dar o OK e nem precisa olhar email nem nada, porque os alarmes irão piscar direto no seu painel!

Pra quem usa firefox, também tem plugins para o nagios para ver alarmes parecidos como esse que mostrei agora 🙂

See ya

Usando sftp com chave

Posted: April 20, 2012 in Comandos, Diversos, Linux
Tags: , , ,

Fiz aqui um post falando de vsftp, e falei que precisava limitar os usuários nele com chroot e etc.

Dessa vez, precisei configurar usuários para conectar vim sftp em um servidor, utilizando uma chave de acesso e ainda tinham que ter limitação nos seus respectivos homes também!

Primeiro de tudo, criei os usuários necessários:

# adduser user(s)

Criei um grupo chamado sftponly, justamente para adicionar esses usuários no grupo e fazer as limitações por grupo depois:

# groupadd sftponly

Defini esse grupo como o padrão dos usuários:

#usermod -g sftponly user(s)

E depois desses ajustes, a configuração é feita diretamente no arquivo sshd_config mesmo. Seguem as linhas que alterei/adicionei:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

#Conf to limit sftp users
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sft

A linha Subsystem normalmente vem com as opções padrões (sftp path-to-sftp) e então alterei a linha para Subsystem sftp internal-sftp somente para limitar os acessos internos.
Depois na linha Match é para definir quem você vai limitar. Se fosse apenas um usuário a linha ficaria Match User user, mas no meu caso, tem mais de um usuário, então defini que é um grupo e coloquei o nome do grupo que terá limitações, no caso, o sftponly.
Na linha ChrootDirectory, como o nome já fala, é o local que será aplicado o chroot e nesse caso, como é um grupo, utilizei o parâmetro /home/%u.
As linhas X11Forwarding e AllowTcpForwarding servem para definir algumas opções de segurança e criptografia respectivamente.

Feito isso, reiniciei o serviço de sshd:

# /etc/init.d/ssh restart

Deixei o root como owner dos homes desses usuários que não podem ter acesso à todo o sistema:

# chown root: /home/user(s)

Depois definir o home do usuário (somente executar quando o path padrão do home for alterado, caso contrário, não há necessidade):

# usermod -d /newhome/user user

Agora, vamos criar as chaves…
Logue com o usuário:

# su – user1

Vamos gerar a chave pública e privada dele:

$ ssh-keygen -t rsa

Quando criei a chave, deixei o passphrase em branco.
Essa chave fica dentro do diretório .ssh no home do user. Vamos acessar esse diretório e copiar a chave pública para o authorized_keys na própria máquina:

$ cd /home/user1/.ssh
$ cp id_rsa.oub authorized_keys

Faça o mesmo procedimento com os outros usuários e finalmente poderá logar com os usuários via sftp, utilizando apenas a chave!

Se tiverem alguma dúvida, mandem ai nos comments 😉

Fonte aqui

Usando chroot no vsftp

Posted: April 18, 2012 in Comandos, Diversos, Linux
Tags: , , , ,

Recentemente tive que criar instalar um FTP na rede, para que os usuários se logassem nele e acessar e colocar conteúdo etc etc… mas eles só poderiam fazer isso no /home deles, ou seja, o acesso é restrito.

Usei o vsftp para isso, e fiz o seguinte:

# aptitude install vsftpd

Editei o arquivo de configuração (fiz um backup do original antes):

# vim /etc/vsftpd.conf

E comentei a linha que não permite login com o usuário anonymous no FTP:

#anonymous_enable=YES          

E descomentei as seguintes linhas:

local_enable=YES

xferlog_file=/var/log/vsftpd.log

chroot_local_user=YES

Uma breve explicação: A linha local_enable é para habilitar o login de usuários que estão no /etc/passwd. A linha xferlog_file como o próprio nome já fala, é a linha que habilitará o log (que é meio tosco) e a linha chroot_local é a linha que já limita os usuários a terem acesso somente ao seu /home/ e não ficam navegando por ai no sistema.

Depois que fiz as alterações, salvei, sai e reiniciei o serviço:

# /etc/init.d/vsftpd restart

Testando pra ver se funcionou tudo como deveria…

pgoncales@tn20:~$ ftp hlm-ckn-app-1

Connected to server.
220 (vsFTPd 2.0.7)
Name (server:user): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r–r– 1 1012 1013 0 Apr 18 18:40 teste
226 Directory send OK.
ftp> cd /
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r–r– 1 1012 1013 0 Apr 18 18:40 teste
226 Directory send OK.

Por mais que ele mostre pra você que você está no “/”, no caso do FTP, quer dizer que você está no seu home. E como podem ver, mesmo eu executando o comando cd para ir para outro diretório, ele mostra como se eu tivesse mudado de lugar, mas continuo no meu /home!

E fim! Só isso por hoje =P

Qualquer dúvida, estou à disposição 😉

Colorindo e numerando o Vim

Posted: April 16, 2012 in Comandos, Linux
Tags: , , ,

Para quem usa Debian e sempre que edita um arquivo com o vim, fica escrevendo depois “syntax on” para deixar as letras coloridinhas e facilitar a visualização, pode-se resolver esse problema de colorir os textos abrindo eles já coloridos!! E o melhor de tudo, com apenas um comando!! (Me senti fazendo propaganda da Polishop agora, hehe)

Olha só:

# echo “syntax on” >> /etc/vim/vimrc

Ao executarmos esse comando, estamos adicionando a linha “syntax on” no final do arquivo de configuração do vim. Portanto, ao editar um novo arquivo, ele já irá aparecer colorido!

Se quiser que além de colorido, os arquivos já iniciem com numerações nas linhas, pode usar o seguinte comando:

# echo “set nu” >> /etc/vim/vimrc

E pronto! 😀

Muitas pessoas tem utilizado o Google Docs, porque ele tem a facilidade de compartilhar arquivos com muitas pessoas e possui um editor que acessa de qualquer lugar!

Como sou fã do Google Docs, queria mostrar pra vocês como criar a famosa “Formatação Condicional” no Google Docs.  E só resolvi mostrar isso aqui, porque algumas pessoas me perguntaram como fazer, então, vamos lá! \o/

Primeiro, cria lá teu documento e coloca os valores que vão ser utilizados e analisados. Ex:

Coloquei uma função if/se só pra ajudar e ficar mais legal a planilha. Depois arrastei a função pra copiar para os demais.

Na imagem acima, só dei uma formatada no texto e selecionei o conteúdo que quero aplicar a Formatação Condicional. Depois, cliquei em Format -> Condicional Formatting. Segue a imagem pra facilitar:

E então ele abre a janela para colocar as opções. Na próxima imagem dá pra ver as opções que escolhi… olha só:

Escolhi “Text Contains” e depois coloquei o cotneúdo lá, que será a palavra “Aprovado” e depois o que quero que altere. Nesse caso, selecionei a checkbox “Text” e escolhi uma cor para a palavra aprovado.

Em seguida, cliquei em “Add Another Rule” e defini as mesmas coisas, mas dessa vez para a condição “Reprovado”. Olha só:

Depois só clicar em “Save Rules” e…

Pronto!!

Fácil né?

Até mais 😉

Alterando a UMASK do SVN

Posted: December 26, 2011 in Comandos, Linux
Tags: , , , ,

Esses dias eu estava com um problema relacionado à permissões…
Toda vez que o usuário logava no server CentOs, ele tinha o uid dele e o gid era o mesmo para todo o grupo (nesse caso, era o grupo de desenvolvedores).
E mesmo que a UMASK do server esteja como 0022, todos possuem o grupo em comum, quando um usuário logava, acessava um diretório específico e depois utilizava o comando ‘svn up’ o resultado era:

-rw-r–r– 1 user group 187 Dec 14 18:27 file.extension

Seguindo o padrão de UMASK do sistema, a permissão que ele traz para o arquivo é a 644 para arquivo e 755 para diretórios, sendo assim, pensei em alterar a UMASK para 002, assim o group já vem com as permissões nativas e todos poderão mexer!

Mas poxa, alterar a UMASK de todo o SO por causa de um problema?

E ai então, cacei uma solução e veio esse link aqui.

Então, segui a dica de definir um padrão de UMASK, mas somente para o SVN.

Primeiro, localizei o binário do svn:

[root@servername]# which svn
/usr/bin/svn

Renomeei esse binário para:

[root@servername]# mv /usr/bin/svn /usr/bin/svn-real

E então, criei um script dentro do binário padrão. Olha só:

# vim /usr/bin/svn

#!/bin/sh
umask 002
/usr/bin/svn-real “$@”

Resumidamente falando, essas linhas falam que a umask para o svn passará a ser 002 e que quando executar o comando svn , o binário padrão dele será chamado, que é o svn-real.

E pronto! Todos felizes!

Depois de um ‘svn up’, agora o resultado dos arquivos é o:

-rw-rw-r– 1 user group 11238 Dec 14 19:49 file.extension

Bacaninha né?

A fonte tá no link lá em cima e só pra garantir, tá aqui também! =)