O squid por padrão imprime a data, hora e sua versão na última linha das páginas de erro.
Podemos retirar somente a exibição da versão pela seguinte variável do arquivo "/etc/squid.conf":
.
.
.
httpd_suppress_version_string on
.
.
.
Porém a última linha continuará sendo exibida. Não sei se existe, mas não achei como retira-la pelo squid.conf, somente fazendo um script. O script explicarei logo abaixo.
Meu squid está configurado para Portugues:
.
.
.
error_directory /usr/share/squid/errors/Portuguese
.
.
.
Executo o script abaixo para inserir uma string no final de cada arquivo de erro dizendo para comentar tudo que tiver "%h (%s)" que é a nossa linha!
for ARQUIVO in /usr/share/squid/errors/Portuguese/*; do echo -e '\n\n<clear="all">\n<hr noshade size=1>\n<!-- %h (%s) -->' >> $ARQUIVO; done;
Ao executar o script, recarregue o squid:
# /etc/init.d/squid reload
E veja o resultado, embora o nome do host e o nome "squid" estejam aparecendo comentados no código fonte de cada página de erro, a data, hora e versão não aparecem mais!
quinta-feira, 4 de fevereiro de 2010
terça-feira, 2 de fevereiro de 2010
TCL TK + como ativar uma nova linguagem em um banco de dados postgres?
Recentemente precisei instalar a linguagem TCL TK no postgres ubuntu. Facilmente com o apt-get consegui baixar os pacotes:
# apt-get install tcl tk
Porém, para que o postgres reconheça os pacotes é necessário executar uma comando: createlang.
Quebrei a cabeça um pouquinho até descobrir que o comando deve ser executado pelo o usuário "postgres" do linux! Então ao logar no servidor postgres, provavelmente como "root", lembre-se de mudar para o usuário "postgres" para executar o comando de criação de linguagens, como ilustram os comandos abaixo:
# su postgres
$ createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS
# apt-get install tcl tk
Porém, para que o postgres reconheça os pacotes é necessário executar uma comando: createlang.
Quebrei a cabeça um pouquinho até descobrir que o comando deve ser executado pelo o usuário "postgres" do linux! Então ao logar no servidor postgres, provavelmente como "root", lembre-se de mudar para o usuário "postgres" para executar o comando de criação de linguagens, como ilustram os comandos abaixo:
# su postgres
$ createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS
segunda-feira, 1 de fevereiro de 2010
SSH Como restringir acesso de usuários do AllowUsers para logar somente de uma rede
Recentemente precisei dar acesso ssh ao usuário "ujoao". Então fui no arquivo "/etc/ssh/sshd_config" e na declaração "AllowUsers" adicionei o "ujoao". Porém, quero que "ujoao" só acesse meu servidor de dentro da minha rede "10.1.1.0/24", de qualquer outro lugar ele não terá permissão. Como fazer isso?
Penando na Internet descobri que simplesmente devemos fazer o que segue abaixo:
===================
- abrir o arquivo "/etc/ssh/sshd_config"
- em "AllowUsers" devemos adicionar "ujoao@10.1.1.*"
===================
Simples não? Pois é, mas foi difícil achar isso.
Penando na Internet descobri que simplesmente devemos fazer o que segue abaixo:
===================
- abrir o arquivo "/etc/ssh/sshd_config"
- em "AllowUsers" devemos adicionar "ujoao@10.1.1.*"
===================
Simples não? Pois é, mas foi difícil achar isso.
sexta-feira, 29 de janeiro de 2010
Wish + Interpretador de comandos do linux para criação de janelas em interface gráfica
Um dia fiz um concurso e na prova caiu a pergunta: "Para que serve o comando wish?".
Chutei e acertei! Estou escrevendo esse artigo pois não acho muito pela Internet a explicação sobre esse comando, somente o man, que também não explica muito sobre sua funcionalidade.
[O que é o Wish]
Wish é um comando para criação de janelas para seus scripts feito em bash. Na verdade, o wish é um interpretador de comandos TCL/TK. Se quer saber como utilizar o wish, pesquise sobre TCL/TK, se pesquisar somente sobre o wish não encontrará muita coisa.
[TCL e TK]
TCL é uma linguagem de programação e o TK é um conjunto de funções gráficas para o TCL (criação de botões, labels, select, ...).
[Exemplo de aplicação]
Recentemente tive o seguinte problema: "rdesktop - Como utiliza-lo com interface gráfica?"
Utilizo muito o rdesktop para logar nos servidores Windows. O ruim é que esse é um programa de linha de comando, queria que ele fosse ativado com um clique em um ícone, mas como informar o endereço do servidor que quero logar? Se simplesmente fizer um script que chama o rdesktop não vai dar certo pois você precisa do parâmetro 1 que é o nome do servidor:
===
Script 1 - rdesktop em linha de comando
===
#!/bin/bash
rdesktop ${1}
Eis que surge o wish. Ao executar o script abaixo, uma janela com um input text aparecerá, informe o nome do servidor que queira logar que o rdesktop entrará em ação:
===
Script 2 - rdesktop com interface gráfica
===
#!/usr/bin/wish
#titulo da janela
wm title . "RDW - Nome do servidor"
#tamanho da janela
#larguraXaltura+x+y
#100000 faz ficar colado em baixo
wm geometry . 300x50+200+10000
#criando input text, nomeando variavel inputText e focando cursor do teclado nele
grid [entry .inputText -textvar inputText -just left] -ipadx 50 -rowspan 100
focus .inputText
#associando teclas ao input text e respectivas acoes
bind .inputText RDesktop
bind .inputText Sair
#########
# Funcoes
#########
proc RDesktop {} {
exec rdesktop -u usuario -d dominio -g 90% $::inputText &
exit
}
proc Sair {} {
exit 0
}
[Download]
Baixe o "Script 2 - rdesktop com interface gráfica" clicando em rdw-publico.sh.
Chutei e acertei! Estou escrevendo esse artigo pois não acho muito pela Internet a explicação sobre esse comando, somente o man, que também não explica muito sobre sua funcionalidade.
[O que é o Wish]
Wish é um comando para criação de janelas para seus scripts feito em bash. Na verdade, o wish é um interpretador de comandos TCL/TK. Se quer saber como utilizar o wish, pesquise sobre TCL/TK, se pesquisar somente sobre o wish não encontrará muita coisa.
[TCL e TK]
TCL é uma linguagem de programação e o TK é um conjunto de funções gráficas para o TCL (criação de botões, labels, select, ...).
[Exemplo de aplicação]
Recentemente tive o seguinte problema: "rdesktop - Como utiliza-lo com interface gráfica?"
Utilizo muito o rdesktop para logar nos servidores Windows. O ruim é que esse é um programa de linha de comando, queria que ele fosse ativado com um clique em um ícone, mas como informar o endereço do servidor que quero logar? Se simplesmente fizer um script que chama o rdesktop não vai dar certo pois você precisa do parâmetro 1 que é o nome do servidor:
===
Script 1 - rdesktop em linha de comando
===
#!/bin/bash
rdesktop ${1}
Eis que surge o wish. Ao executar o script abaixo, uma janela com um input text aparecerá, informe o nome do servidor que queira logar que o rdesktop entrará em ação:
===
Script 2 - rdesktop com interface gráfica
===
#!/usr/bin/wish
#titulo da janela
wm title . "RDW - Nome do servidor"
#tamanho da janela
#larguraXaltura+x+y
#100000 faz ficar colado em baixo
wm geometry . 300x50+200+10000
#criando input text, nomeando variavel inputText e focando cursor do teclado nele
grid [entry .inputText -textvar inputText -just left] -ipadx 50 -rowspan 100
focus .inputText
#associando teclas ao input text e respectivas acoes
bind .inputText
bind .inputText
#########
# Funcoes
#########
proc RDesktop {} {
exec rdesktop -u usuario -d dominio -g 90% $::inputText &
exit
}
proc Sair {} {
exit 0
}
[Download]
Baixe o "Script 2 - rdesktop com interface gráfica" clicando em rdw-publico.sh.
Marcadores:
interface gráfica,
linux,
programação,
rdesktop,
tcl/tk,
wish
quarta-feira, 27 de janeiro de 2010
Capslock no rdesktop do ubuntu não funciona
Comente a linha que inibe o Caps_lock no arquivo /usr/share/rdesktop/keymaps/common:
.
.
.
# COMENTE A LINHA ABAIXO PARA NÃO INIBIR O CAPSLOCK
#Caps_Lock 0x0 inhibit
.
.
.
.
.
.
# COMENTE A LINHA ABAIXO PARA NÃO INIBIR O CAPSLOCK
#Caps_Lock 0x0 inhibit
.
.
.
sexta-feira, 2 de outubro de 2009
GBU - Gerenciador de BackUps - versão 0.1.1 - Sistema para gerenciamento de backups em php+bash
===============================
[GBU - Gerenciador de BackUps]
Versão Beta 0.1.1
Licensa GPL
Autor André Oshiro Barcelos
GBU é um sistema para gerenciamento de backups feito em php+bash que realiza backup de servidores remotos via comando SCP.
===============================
[Tipos de backups realizados]
- arquivos
- diretórios
- dump de banco MySQL.
===============================
[Instalação]
Para instala-lo você deve possuir um servidor de backups com linux e o php5-cli instalado. Execute o arquivo do gbu com o comando install (ex.: php gbu.0-1-1.php install). Siga as mensagens que forem exibidas na tela.
===============================
[Cluster de storages de backup]
Você pode eleger mais de 1 servidor para efetuar os backups e manter a gerência centralizada, basta instalar o gbu em outros servidores e manter a lista de backups em 1 único.
Ex.:
Existem 2 servidores para backup: bkp1 e bkp2. Onde bkp1 é o nosso gerenciador e também storage; bkp2 é somente storage.
Efetuando "gbufes list" no bkp1
Como podemos ver, nossa lista de backup está centralizada em bkp1.aob.br, e utilizamos o servidor bkp1.ufes.br como (quando oculto é assumido o host local) e o host bkp2.ufes.br como storage.
===============================
[Erros conhecidos]
- Erro ao copiar arquivos maiores de 60GB:
Se ao tentar efetuar backup de um arquivo/pasta maior que 60GB e o mesmo parar a cópia em 60GB, verifique o usuário gbufes criado na máquina de backup, o mesmo deve possuir a pasta /home/gbufes/.ssh criada com permissões de owner e grupo setadas para gbufes. Esse erro ocorre pois o fingerprint da máquina alvo não é escrito dentro do diretório /home/gbufes/.ssh, expirando a sessão do ssh a cada 1 hora e terminando a cópia do arquivo (cerca de 60GB são copiados em 1 hora numa rede FastEthernet).
===============================
[Ajude-nos a melhorar]
Para ajudar a melhorar o GBU, postem seus comentários, dúvidas, sugestões, bugs, ...
===============================
[Download GBU]
Clique aqui para baixar o GBU Versao 0.1.1
.
[GBU - Gerenciador de BackUps]
Versão Beta 0.1.1
Licensa GPL
Autor André Oshiro Barcelos
GBU é um sistema para gerenciamento de backups feito em php+bash que realiza backup de servidores remotos via comando SCP.
===============================
[Tipos de backups realizados]
- arquivos
- diretórios
- dump de banco MySQL.
===============================
[Instalação]
Para instala-lo você deve possuir um servidor de backups com linux e o php5-cli instalado. Execute o arquivo do gbu com o comando install (ex.: php gbu.0-1-1.php install). Siga as mensagens que forem exibidas na tela.
===============================
[Cluster de storages de backup]
Você pode eleger mais de 1 servidor para efetuar os backups e manter a gerência centralizada, basta instalar o gbu em outros servidores e manter a lista de backups em 1 único.
Ex.:
Existem 2 servidores para backup: bkp1 e bkp2. Onde bkp1 é o nosso gerenciador e também storage; bkp2 é somente storage.
Efetuando "gbufes list" no bkp1
====================================================
ID HOST/ALVO STORAGE TIPO FREQ CIC ULTBKP
====================================================
1 web.aob.br#1 dire s:2 2 021009
/www/site /sto/hd01/ 000010
gbu/site 3600s
----------------------------------------------------
2 dns.aob.br#1 bkp2.aob.br dire s:6 2 021009
/etc/dns.conf /sto/hd01/gb 010203
u/dns 17s
----------------------------------------------------
Como podemos ver, nossa lista de backup está centralizada em bkp1.aob.br, e utilizamos o servidor bkp1.ufes.br como (quando oculto é assumido o host local) e o host bkp2.ufes.br como storage.
===============================
[Erros conhecidos]
- Erro ao copiar arquivos maiores de 60GB:
Se ao tentar efetuar backup de um arquivo/pasta maior que 60GB e o mesmo parar a cópia em 60GB, verifique o usuário gbufes criado na máquina de backup, o mesmo deve possuir a pasta /home/gbufes/.ssh criada com permissões de owner e grupo setadas para gbufes. Esse erro ocorre pois o fingerprint da máquina alvo não é escrito dentro do diretório /home/gbufes/.ssh, expirando a sessão do ssh a cada 1 hora e terminando a cópia do arquivo (cerca de 60GB são copiados em 1 hora numa rede FastEthernet).
===============================
[Ajude-nos a melhorar]
Para ajudar a melhorar o GBU, postem seus comentários, dúvidas, sugestões, bugs, ...
===============================
[Download GBU]
Clique aqui para baixar o GBU Versao 0.1.1
.
Marcadores:
backup de arquivos,
backup de banco de dados,
backup de diretórios,
backup via scp,
gbu
quarta-feira, 26 de agosto de 2009
Como adicionar monitoramento de partições no snmpd do linux
- Altere o arquivo /etc/snmp/snmpd.conf, descomente a linha:
.
.
.
disk / 10000
.
.
.
Nota: isso fara com que a particao / seja monitorada. 10000 informa que se a partição retornar um tamanho abaixo desse, um erro é iniciado.
- Para adicionar outras partições, acrescente novas linhas:
.
.
.
disk / 10000
disk /tmp 10000
disk /home 10000
.
.
.
- Utilize a mib UCD-SNMP-MIB::dskAvail para verificar o valor das partições:
Ex.: snmpwalk -v 1 -c trash12 hp8.ufes.br UCD-SNMP-MIB::dskAvail
Outras mibs que podem ajudar:
UCD-SNMP-MIB::dskTotal.1 = KiBs totais da partição 1
UCD-SNMP-MIB::dskTotal.2 = KiBs totais da partição 2
UCD-SNMP-MIB::dskAvail.1 = KiBs restantes na partição 1
UCD-SNMP-MIB::dskAvail.2 = KiBs restantes na partição 2
UCD-SNMP-MIB::dskUsed.1 = KiBs usados na partição 1
UCD-SNMP-MIB::dskUsed.2 = KiBs usados na partição 2
UCD-SNMP-MIB::dskPercent.1 = percentual usado na partição 1
UCD-SNMP-MIB::dskPercent.2 = percentual usado na partição 2
.
.
.
disk / 10000
.
.
.
Nota: isso fara com que a particao / seja monitorada. 10000 informa que se a partição retornar um tamanho abaixo desse, um erro é iniciado.
- Para adicionar outras partições, acrescente novas linhas:
.
.
.
disk / 10000
disk /tmp 10000
disk /home 10000
.
.
.
- Utilize a mib UCD-SNMP-MIB::dskAvail para verificar o valor das partições:
Ex.: snmpwalk -v 1 -c trash12 hp8.ufes.br UCD-SNMP-MIB::dskAvail
Outras mibs que podem ajudar:
UCD-SNMP-MIB::dskTotal.1 = KiBs totais da partição 1
UCD-SNMP-MIB::dskTotal.2 = KiBs totais da partição 2
UCD-SNMP-MIB::dskAvail.1 = KiBs restantes na partição 1
UCD-SNMP-MIB::dskAvail.2 = KiBs restantes na partição 2
UCD-SNMP-MIB::dskUsed.1 = KiBs usados na partição 1
UCD-SNMP-MIB::dskUsed.2 = KiBs usados na partição 2
UCD-SNMP-MIB::dskPercent.1 = percentual usado na partição 1
UCD-SNMP-MIB::dskPercent.2 = percentual usado na partição 2
Assinar:
Postagens (Atom)