Arquivo

Posts Tagged ‘Shell’

Book VIM – Editor de Textos VIM

27 de abril de 2014 Deixe um comentário

 

VimBook

VimBook

Book VIM – Editor de textos Linux!!!!

Todo profissional Linux, usa ou já usou o VIM. Esse editor de textos faz mágicas de tão alta ajuda que o mesmo dá na produtividade de cotidiano com o Shell.

Esse book que estou postando aqui, trás detalhes e exemplos de muitas funções do mesmo, ajudando e muito no conhecimento da ferramenta.

O projeto do VimBook pode ser acessado neste link http://code.google.com/p/vimbook/

Download do VimBook: vimbook-31-08-2009

Aconselho à quem utiliza shell, esta leitura.

Abraços.

 

 

 

 

Anúncios
Categorias:Bash, Linux, Vim Tags:, , ,

Lista de Comandos Zimbra

22 de fevereiro de 2014 46 comentários
Zimbra

Zimbra

LISTA DE COMANDOS ZIMBRA

Acredito que todo Administrador de Redes já deve ter ouvido falar no Zimbra, então o mesmo dispensa apresentações (E se você está lendo este blog, com certeza sabe o que o mesmo faz). O Zimbra é muito flexível em muitos aspectos, o front-end do mesmo já é bem completo, dá para fazer muita coisa por lá. Entretanto, pela console do administrador você não tem a opção de automatizar processos, otimizar rotinas, fazer loops de verificações muito menos de fazer consultas diretas no banco (Eu disse CONSULTA, não brinque com o banco do zimbra, o Mesmo usa Mysql que é da Oracle, e por muito tempo o Zimbra foi da Oracle, o que cria muitos laços dentro do banco de dados), sem falar que certas opções, você não tem pela console do administrador, mas no shell sim =]]

O verdadeiro poder do Zimbra, na minha concepção, está na linha de comando. Lá a gente faz quase tudo que a gente quer, além do postfix só poder ser alterado mais cirurgicamente por lá, bem como outros serviços. Por exemplo, o mysql só pode ser aberto para ser acessado por fora através da linha de comando (Ver como liberar o acesso externo ao mysql do Zimbra aqui

Como estou migrando todo o parque de e-mail da empresa em que trabalho, acabei ficando com os comandos na cabeça e sei que por falta de uso, eu mesmo vou esquecer. Portanto, resolvi postar tanto para mim, quanto para quem desejar.

Bom, segue lista de comandos que eu utilizo, o Zimbra é uma poderosa ferramenta e não possui apenas estes comandos, possui muito mais. Entretanto, com esta relação, você pode ir amadurecendo no shell do mesmo.

Descobrir qual é a versão e arquitetura do seu Zimbra

zmcontrol -v

Comando para Iniciar, Parar, Reiniciar e checar Status

/etc/init.d/zimbra start | stop | restart | status

Obter ajuda do comando zmprov

zmprov help commands

Obter opções de uso do e a sintaxe de comandos do zmprov

zmprov -h

Parar o Zimbra

zmcontrol stop

Iniciar o Zimbra

zmcontrol start

Obter Status do Zimbra

zmcontrol status

Trocar o nome da máquina do Zimbra (Requer stopar serviço)

/opt/zimbra/libexec/zmsetservername -o antigo.beijer.com -n novo.beijer.com

Obter nome da máquina do Zimbra

zmhostname

Listar todos os domínios no Zimbra

zmprov gad

Criar outro domínio

zmprov cd beijer.org.br

Renomear um domínio

zmprov -l rd beijer.org.br beijer.net.br

Criar alias para domínio

zmprov cad alias_beijer.com.br beijer.com.br

Verificar qual o domínio padrão do Zimbra

zmprov gacf zimbraDefaultDomainName

Caso seja necessário alterar o domínio padrão, execute o comando abaixo, porém não recomendo.

zmprov mcf zimbraDefaultDomainName beijer.org.br

Para remover um domínio ou um alias de domínio, execute o comando

zmprov dd alias_beijer.com.br

Criar usuario

zmprov ca usuario@beijer.com.br 'senhaaqui'

Alterar a senha de um usuário

zmprov sp jacques@beijer.com.br `beijer.j4cqu3s`

Listar todos usuarios

zmprov -l gaa

Listar todos os usuários de um domínio

zmprov -l gaa beijer.com.br

Listar usuários que são administradores

zmprov -l gaaa

Listar usuários que são administradores de um domínio

zmprov -l gaaa beijer.com.br

Transformar um usuario em administrador

zmprov ma jacques@beijer.com.br zimbraIsAdminAccount TRUE

Criar um usuario com o atributo de administrador

zmprov ca jacques@beijer.com.br 'senhaaqui' zimbraIsAdminAccount TRUE

Renomear conta

zmprov ra jacques@beijer.com.br beijer@beijer.com.br

Renomer conta mudando de domínio

zmprov ra jacques@beijer.com.br jacques@jacquesdebeijer.com.br

Deletar Conta

zmpra da jacques@beijer.com.br

Visualizar atributos de uma conta

zmprov ga jacques@beijer.com.br

Adicionar alias a uma conta

zmprov aaa jacques@beijer.com.br alias_jacques@beijer.com.br

Quando necessário ver os alias em modo texto, faça assim

for i in $(zmprov -l gaa); do echo -e "\n$i:"; zmprov ga $i | grep
MailAlias; done

Quando necessário ver os alias de um determinado domínio em modo texto, faça assim

for i in $(zmprov -l gaa beijer.com); do echo -e "\n$i:"; zmprov ga $i |
grep MailAlias; done

Remover alias

zmprov raa jacques@beijer.com.br alias_jacques@beijer.com.br

Para criar uma lista

zmprov cdl lista@beijer.com.br

Visualizar listas de distribuição

zmprov gadl

Adicionar membros à lista de distribuição

zmprov adlm lista@beijer.com.br jacques@beijer.com.br

Adicionar um usuario (jacques@beijer.com.br) a todas as listas de distribuição

for listas in $(zmprov gadl); do zmprov adlm $listas jacques@beijer.com.br;
done

Visualizar membros de uma lista

zmprov gdlm lista@beijer.com.br

Ver todas as informações de uma lista

zmprov gdl lista@beijer.com.br

Remover membro de uma lista

zmprov rdlm lista@beijer.com.br lista@beijer.com.br

Renomear uma lista de distribuição

zmprov rdl lista@beijer.com.br novalista@beijer.com.br

Ocultar uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal TRUE

Exibir uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal FALSE

Remover uma lista

zmprov ddl lista@beijer.com.br

Classes de Serviço
Listar Classes

zmprov gac

Criar uma nova COS

zmprov cc nome_da_classe

Ver todos os atributos de uma classe

zmprov gc nome_da_classe

Alterar a COS de um usuário

zmprov sac jacques@beijer.com.br nova_classe

Para ver quantos usuários de um dominio estão em classes

zmprov cta beijer.com.br

Obter o atributo da quota da COS

zmprov gc nome_classe zimbraMailQuota

Obter cuota utilizada por cada usuário de um domínio (Formato Conta Quota
Quota Utilizada

zmprov gqu localhost

Alterar attribute de quota para o valor de 80M, este número deve ser em
bytes

zmprov mc nome_da_classe zimbraMailQuota 83886080

Checar se a quota foi alterada

zmprov gc nome_da_classe zimbraMailQuota

Para ver a cuota de cada usuario, vocee pode usar o comando:

for i in $(zmprov -l gaa); do zmprov ga $i zimbraMailQuota; done

Trocar a senha de administrador

zmprov sp admin@beijer.com.br 'senhaaqui'

Logs de entrega de email na caixa (LMTP) Login e Logout Imap/Pop/Mapi, Erros
na aplicação java, operações de indexação, lentidão no banco de dados (slow
queries) e outros

tail -f /opt/zimbra/log/mailbox.log

Logs de atividade do postfix, status dos serviços, atividades do antivirus e
antispam e outros

tail -f /opt/zimbra/log/zimbra.log

Logs de autenticacao

tail -f /opt/zimbra/log/audit.log

Logs do antivirus db

tail -f /opt/zimbra/log/clamd.log

Logs de atualizaçao do Antivirus Clamav

tail -f /opt/zimbra/log/freshclam.log

Logs ao DB do store que estão demorando

tail -f /opt/zimbra/log/myslow.log

Logs de treinamento do Antispam

tail -f /opt/zimbra/log/spamtrain.log

Ativar somente o acesso http (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl http

Ativar somente o acesso https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl https

Ativa o acesso http e https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl mixed

Esses é a primeira parte da sessão de comandos do Zimbra que posto aqui. Tem alguns outros como os comandos do Postfix, comandos do Zimbra, comandos do Mysql, Spamassassim, Amavis, Clamav e etc… Vou tentar ir acrescentado todos aqui mesmo neste post para não ficarem espalhados em posts separados.

Esta primeira leva é mais de administração do Zimbra mesmo.

Podem publicar e utilizar, só peço que se mantenham os créditos.

Inté!

Criar várias contas de email via script bash

16 de dezembro de 2013 1 comentário
Mail

Mail

Essa aqui vai para meu amigo Marcos Melo que precisou criar várias contas de email via script shell.
Segue um script abaixo com duas opções para se criar as contas. Entretanto, para poucas contas eu uso o for, para muitas contas eu recomendo o uso do while (ou do for in file). Ou seja, você apenas usará uma das soluções abaixo.

Solução poucos users:
Crie seu arquivo users_mail.sh

vim users_mail.sh

 

Insira o conteúdo abaixo.
————————-
#!/bin/bash
for x in conta01 conta02 conta03 conta04 conta05 ;
do
useradd -m $x ;
(echo “senha@#123” ;
echo “senha@#123”) | passwd $x;
done
————————-
Obs, troque as contas para os seus usuários.
Salve seu arquivo, execute o comando abaixo para criar as contas.

sh users_mail.sh

Pronto, suas contas foram criadas com a senha sennha@#123.

 

Segunda forma de fazer.

Para muitos arquivos, eu sugiro o uso do comando while. Onde seria necessário ter um arquivo chamado contas.txt com as contas de usuários linha por linha.

Crie o arquivo users_mail.sh

vim users_mail.sh

Coloque o conteúdo abaixo:

————————————————-

while read x
do
echo “criando conta:” $x
useradd -m $x
(echo “senha@#123” ; echo “senha@#123”) | passwd $x;
done < contas.txt

————————————————-

Obs, troque as contas para os seus usuários.
Salve seu arquivo, execute o comando abaixo para criar as contas.

sh users_mail.sh

Pronto, suas contas foram criadas com a senha sennha@#123.

Tae Marcão teus scripts.

Categorias:Linux, Postfix, Shell Tags:, , , ,

Conectando remotamente no MYSQL usando o Shell!

7 de junho de 2013 Deixe um comentário

Conectando remotamente no MYSQL usando o Shell!

Quando precisar acessar um Banco Mysql remotamente via shell, utilizar a sintaxe abaixo:

mysql -u username -p -P n_port -h ip_host database_name

Exemplo:

mysql -u jacques.beijer -p -P 73307 -h 201.201.201.745 cafeina_database

Lembrando que você precisa definir permissão de acesso (grant) para o host que irá acessar, essa permissão tem que ser feita no host que hospeda o banco de dados. Esta permissão (tem um post meu só sobre permissões) pode ser definida com o comando abaixo:

root@takakaos:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

mysql> grant all privileges on *.* to usuario@ip_host_remoto 
IDENTIFIED BY 'senha_xpto';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
root@takakaos:~#

Para conectar usando tunel, usar a sequência abaixo:

ssh -L 73307:mysql.host.com:3306 user@host.com
mysql -u user -p -P 73307 -h 127.0.0.1 database

Conectar remotamente no Mysql do Zimbra!

5 de junho de 2013 5 comentários
Zimbra

Zimbra

Conectando remotamente no Mysql do Zimbra!

Hoje ao tentar conectar no banco Mysql do Zimbra usando o Mysql Query Browser a partir da minha máquina, vi que não estava conseguindo por estar com acesso negado e ao ir fazer a liberação notei que as configurações do mysql não estavam como default.

Para resolver este problema podemos agir da seguinte forma.

Logar na conta do zimbra:

su zimbra

Em seguida conectar no banco com usuário padrão do zimbra:

mysql -u zimbra

Ele irá logar normalmente. Após isto, vamos conceder a permisssão no Mysql:

grant all privileges on *.* to `usuario`@`ip_remoto` IDENTIFIED 
BY "senha_desejada" WITH GRANT OPTION;
flush privileges;
exit

Substitua o termo usuario para o login que você deseja utilizar, bem como senha_desejada para a senha que você irá utilizar e o ip_remoto para o ip do computador a qual você pretende utilizar para acessar o banco.
Pronto, agora temos um usuários para acessar o banco do Zimbra, lembrando que você pode inserir ‘root’@’%’ para dar acesso root a partir de qualquer host da rede. Lembrando que o Mysql do Zimbra Utiliza a porta 7306.

Agora precisamos abrir o Mysql para aceitar conexões não apenas localmente, mas de outros hosts também. Para fazer esta alteração, temos que editar o arquivo /opt/zimbra/conf/my.cnf e comentar a opção bind-address = localhost e salvar o arquivo:

vim /opt/zimbra/conf/my.cnf
#bind-address = localhost

Após esta alteração, reinicie o mta com os comandos abaixo e seu acesso estará permitido.

zmcontrol stop
zmcontrol start

Pronto.

[]’s

Teclas de Atalho – Shell Bash (Bourne Again Shell)

5 de junho de 2013 Deixe um comentário
Shell_Bash

Shell_Bash

Aumentando a produtividade utilizando teclas de atalho no Shell Bash!!!

No cotidiano de um administrador de Sistemas Linux via Shell Bash a ausência do mouse nunca me incomodou, exceto quando estou escrevendo uma linha de script razoavelmente grande e desejo ir para o meio desse script em pleno bash, sem estar em um arquivo com algum editor. Putz. Isso realmente é algo que o Linux peca um pouco… Mas comparado com tudo que ele faz, esse problema passa até despercebido.

Mas estamos falando de Linux, um sistema que foi projetado pensando em cada pequeno detalhe. Por esta razão, as teclas de atalho do shell bash resolvem vários problemas, sem falar que linhas de código maiores que duas linhas, devem ser escritas em um editor VIM.

Por esta razão, estou colocando aqui algumas das principais teclas de atalho do Bash.

Teclas de atalho: Descrição
As teclas de atalho abaixo funcionam quando as teclas default são utilizadas.

Tab ⇆ : Autocompleta o comando a partir da posição do cursor.
Ctrl+a : Move o cursor para o inicio da linha, equivalente a tecla Home.
Ctrl+b : Move o cursor um caractere atrás.
Ctrl+c : Envia o sinal SIGINT para tarefa atual, então esta é cancelada e fechada.
Ctrl+d : Envia o marcador EOF, este fecha a sessão atual do shell, igual ao exit.
Ctrl+d : Deleta o caracter corrente, se existirem caracteres digitados.
Ctrl+e : Move o cursor para o final da linha, equivalente a tecla End.
Ctrl+f : Move o cursos para o caracter seguinte.
Ctrl+g : Aborta a pesquisa e restaura a linha original.
Ctrl+h : Deleta o caractere anterior, equivalente a tecla Backspace.
Ctrl+i : Equivalente a tecla Tab.
Ctrl+j : Equivalente a tecla Enter.
Ctrl+k : Limpa o conteúdo da linha que está após o cursor e copia 
         este conteúdo para área de memoria.
Ctrl+l : Limpa o conteudo da tela, equivalente ao comando clear.
Ctrl+n : Recupera o próximo comando (equivalente a tecla ↓).
Ctrl+o : Executa o comando encontrato do histórico.
Ctrl+p : Recupera o comando anterior (equivalente a tecla ↑).
Ctrl+q : Adiciona o próximo caractere digitado à linha textualmente.
Ctrl+r : Executa o ultimo comando digitado.
Ctrl+s : Volta ao próximo comando digitado recentemente.
Ctrl+t : Avançar os dois últimos caracteres.
Ctrl+u : Limpa o conteúdo da linha anterior ao cursor e copia o conteúdo para 
         área de memoria.
Ctrl+v : Adiciona o próximo carácter à linha textualmente.
Ctrl+w : Apaga a palavra depois do cursor e copia para área de memória.
Ctrl+y : Comando colar.
Ctrl+x Ctrl+e : Edita a linha atual no programa $EDITOR, ou vi.
Ctrl+x Ctrl+r : Ler o conteúdo do arquivo inputrc, e incorporar todas as 
                ligações ou atribuições de variáveis ​​encontradas lá.
Ctrl+x Ctrl+u : Desfazer, separado por linha.
Ctrl+x Ctrl+v : Exibe informações sobre a versão da instancia corrente do bash.
Ctrl+x Ctrl+x : Alterar a posição do cursor para sua antiga posição. 
                (C-x, porque x tem uma forma de passagem).
Ctrl+z : Envia o sinal para SIGTSTP a tarefa atual, para suspende-lo. Para 
         executá-lo em segundo plano pode-se entrar no bg. Para trazer de 
         volta através de fundo ou suspensão fg ['nome do processo ou 
         identificação de trabalho "] (primeiro plano) pode ser emitido.
Ctrl+_ : Desfazer, separado por linha.
Alt+b : move o cursor para palavra anterior.
Alt+c : Capitaliza o caracter sob o cursor e move para o final da palavra.
Alt+d : Corta a palavra depois do cursor.
Alt+f : move o cursor para próxima palavra.
Alt+l : Transforma para caixa baixa todo caractere a partir do cursor 
        em toda palavra.
Alt+r : Cancela as alterações e colocar de volta a linha de como era na história.
Alt+u : Transforma para caixa alta todo caractere a partir do cursor em toda 
        palavra.
Alt+. : Insira o último argumento para o comando anterior (a última palavra da 
        entrada história anterior).

 

[]’s

Verificando se o Linux é 32 ou 64 Bits!

26 de maio de 2013 2 comentários

Atualmente é extremamente importante sabermos se o sistema que estamos trabalhando é 32 ou 64 bits. Mas vejo que muita gente não consegue consultar esta informação em um Sistema já instalado.

É bem simples, basta consultar a versão de alguns binários do sistema. Eu particularmente gosto de consultar a versão do bash, pois ele dificilmente estará errado. Um bash sempre está pronto para receber comandos conforme o sistema exige e repassa estes comandos em forma traduzidos, claro, para o kernel.

Basta consultar o bash com o comando file, como no exemplo abaixo:

file /bin/bash | cut -d':' -f2 | cut -d',' -f1

A saída irá mostrar qual é o tipo de seu sistema operacional conforme a imagem abaixo.

File_Bash

File Bash

Lembrando que o comando file no Linux exibe informações sobre o arquivo.

Categorias:Linux Tags:, , ,