quinta-feira, 11 de setembro de 2008

Buscando Documentação em um Sistema Linux

Quinta-feira, dia de um delicioso macarrão com frango. Isso me inspirou a escrever. Que tal um pouco sobre documentação? Documentação sobre ... ? Linux uai!! = ))
Hoje veremos como pesquisar sobre aplicativos e programas dentro do próprio sistema Linux!

Introdução
O Linux vem crescendo porque a comunidade que contribui para o sistema e sua documentação não tem medo ou receio de compartilhar isso e coloca o que foi desenvolvido no próprio sistema. Ou seja, antes de recorrermos a ajuda de outras pessoas, devemos lembrar que podemos as respostas que precisamos em nosso próprio sistema.
Toda essa documentação que possuímos no sistema, está disponivel aqui ( pergunta de LPI isso hein... ).
Bom, vamos ao que interessa!

Comando Help
O comando help fornece uma ajuda rápida e útil para saber que opções podem ser usadas com os comandos internos do shell.
Para mostrar todos os comandos disponíveis
#help

Para mostrar uma ajuda rápida de comandos internos
#help [comando]

Para comandos externos
#[comando] --help

O MAN
Man é o responsável por trazer a documentação mais completa sobre determinado comando ou arquivo de configuração. Os manuais são divididos em nivéis.
  • man 1 - Programas executáveis e comandos do shell.
  • man 2 - Chamadas de sistema (funções providas pelo Kernel).
  • man 3 - Chamadas bibliotecas (funções como bibliotecas do sistema).
  • man 4 - Arquivos de dispositivo (localizados normalmente em /dev).
  • man 5 - Arquivos de configuração e convenções.
  • man 6 - Jogos.
  • man 7 - Variados (incluindo pacotes de macros e convenções).
  • man 8 - Comandos de adminstração do sistema (normalmente usado somente pelo root).
  • man 9 - Rotinas de Kernel.
Para usar é fácil
#man [comando]

Podemos também especificar o nivel
#man [nivel] [comando]

Comando Info
As "info pages" são como as páginas de manuais, porém são utilizadas com navegação entre as páginas. Elas são acessadas pelo comando info.
O comando info é útil quando já sabemos o nome do comando e só queremos saber qual a respectiva função.
Para listar todos os manuais
#info

Para especificar um manual de um comando
#info [comando]

Para sair do comando info aperte "q" (sem aspas).

Comando Apropos
O apropos é utilizado quando não se sabe qual documentação acessar para um determinado assunto, mostrando as man pages que contém a palavra-chave que foi especificada.
#apropos [palavra-chave]

O apropos utiliza um banco de dados construído com o comando catman. Para contruir o banco de dados...
#catman

Comando Whatis
Tem basicamente a mesma função do apropos, porém com buscas mais específicas. O apropos busca as páginas de manuais e descrições de maneira mais genérica. Já o whatis busca somente o manual com o nome exato da palavra pesquisada.
#whatis [comando]

Comando Whereis
Usado para mostrar a localização do binário do comando, do arquivo de configuração e a localização das páginas de manuais do determinado comando ou arquivo.
#whereis [comando]
ou
#whereis [arquivo]

Comando Which
O comando witch é bem semelhante ao comando whereis, só que mostra apenas a localização do binário do comando.
#witch [comando]

Howto's
Os howto's são documentos que focam a necessidade específica, como montar um firewall, instalar uma webcam, configurar placas de som, configurar um servidor web entre outros. Normalmente esses documentos são instalados juntamente com a aplicação. Algumas vezes é necessário instalar um pacote específico para essa documentação.
O diretório dos howto's é /usr/share/doc.

Por exemplo, se queremos saber como configurar um servidor Samba, podemos consultar um exemplo prático...
#/usr/share/doc/samba

Espero que tenham gostado =)

Abraço

Wesley Volcov

domingo, 10 de agosto de 2008

OpenSER

Uoba galera !!
Hoje, começaremos a ver um pouco sobre o OpenSER.
Cada dia que passa a tecnologia é mais desenvolvida, coisas novas surgem e vão ficando de mais fácil acesso. No mundo de telecomunicações o VOIP ( voz sobre IP ) tem crescido notavelmente nos últimos anos. Grandes empresas começam a investir nesse tipo de serviço, logo as plataformas "open source" como OpenSER, SER, Asterisk, Softswitch, e diversos softphones acompanham esse crescimento.

Comecemos com um pouco sobre o SIP
O Session Initiation Protocol ( Protocolo de Inicio de Sessão ) é um um protocolo utilizado para criar, modificar e terminar sessões ou chamadas de multimedia. Estas sessões podem ser conferências, e-learning, através da telefonia pela Internet e aplicações semelhantes. É bem semelhante ao HTTP e destina-se a iniciar, manter, e terminar sessões de comunicação interativas entre os usuários. Hoje em dia SIP é um dos mais utilizados protocolos para VoIP e está presente em quase todos os telefones IP no mercado.

A história do OpenSER

O começo de tudo... SIP Express Router (SER)
Um projeto open source sob licença GPL que teve sua primeira linha de código escrita em setembro de 2001, por Andrei Pelinescu-Onciul. Até então, o seu roteamento era implementado utilizando uma tabela baseada em "first-match-first-found". Hoje o trabalho do grupo e os resultados são apresentados em um novo site, http://iptel.org.

O OpenSER
Em junho de 2005, dois dos principais desenvolvedores do SER juntamente com um de seus principais contribuintes, começaram o projeto OpenSER. Pouco tempo depois outros contribuintes do SER aderiram ao OpenSER, após um ano e meio o projeto contava com cerca de 20 desenvolvedores e 80 pessoas que contribuiam com correções ou documentações para o código. Em 14 de julho de 2005 foi liberada a primeira versão do Openser.

Mas o que é o OpenSER ?
O OpenSER tem diversas funcionalidades, entre elas podemos destacar o Servidor Proxy e o Registrar. Abaixo veremos um pequeno resumo sobre cada uma delas.

Servidor Proxy
Toda sinalização SIP passa através de um proxy. Este recebe os pacotes, verifica a integridade e encaminha para o destino. Este processo é feito por um script, onde determinamos regras como: tamanho maximo dos pacotes e destinos. O fato de toda a sinalização SIP passar através do proxy, ajuda também na hora de contabilizar a chamada.
O servidor proxy pode operar com dois tipos de comunicação, stateful (como um circuito) ou stateless (como o TCP). Com o stateful, podemos ter várias "sessões SIP", ou seja, podemos fazer com que vários telefones como: celulares SIP, desktops SIP, e outras aplicações SIP estejam a tocar simultaneamente quando receber uma chamada. Ao atender um dos dispositivos é iniciada a conversação, e os restantes param de tocar.
O servidor proxy SIP pode utilizar múltiplos métodos para tentar resolver o pedido de endereço de host, incluindo busca de DNS, busca em base de dados ou retransmitir o pedido para o “próximo” servidor proxy.

Registrar
O Registrador SIP fornece um serviço de informação de localidades; ele recebe as informações do user agent e armazena essa informação de registro. Assim, quando um usuário inicia uma sessão SIP com outro usuário, o protocolo SIP tem que descobrir em qual host esse usuário está logado. Esse processo é feito por um servidor que recebe o pedido e verifica para onde deve envia-lo. Essa consulta é feita em um banco de dados mantido pelo dominino.

Concluindo...
Temos várias outras funcionalidades para o Openser, tais como integração com o Asterisk, PSTN Gateway, Media Server, Radius Accounting, CDRTool Rating e Monitoring Tools. Mas para termos uma visão do que é, e o que faz, Servidor SIP e Registrar estão de bom tamanho!
Atualmente o projeto OpenSER está sendo dividido em dois projetos, Kamailio e OpenSIPS. Ambos derivam do OpenSER, mas darão continuidade as atualizações e desenvolvimento de seus respectivos projetos.

Referências:
Livro: Building Telephony Server with OpenSER.
Sites: http://pt.wikipedia.org/wiki, http://www.kamailio.org/
Pessoas: André Pantalião e Fernando Fontes.


Espero que tenham gostado : )
Em proximos posts, vamos ver mais detalhadamente sobre cada funcionalidade do OpenSER!!
Abraço
Wesley Volcov

terça-feira, 1 de julho de 2008

Tux - O pingüim do Linux

Curiosidade: um pouco da história do pingüim mais famoso!


A história do Tux

Em 1996, muitos integrantes da lista de discussão Linux-Kernel estavam discutindo sobre a criação de um logotipo ou de um mascote que representasse o Linux. Muitas das sugestões eram paródias ao logotipo de um sistema operacional concorrente e muito conhecido. Outros eram monstros ou animais agressivos (pelo menos lendariamente), como tubarões e águias. Linus Torvalds acabou entrando nesse debate ao afirmar em uma mensagem que gostava muito de pingüins. Isso foi o suficiente para dar fim à discussão.

Depois disso, várias tentativas foram feitas numa espécie de concurso para que a imagem de um pingüim servisse aos propósitos do Linux, até que alguém sugeriu a figura de um "pingüim sustentando o mundo". Em resposta, Linus Torvalds declarou que achava interessante que esse pingüim tivesse uma imagem simples: um pingüim "gordinho" e com expressão de satisfeito, como se tivesse acabado de comer uma porção de peixes. Torvalds também não achava atraente a idéia de algo agressivo, mas sim a idéia de um pingüim simpático, do tipo em que as crianças perguntam "mamãe, posso ter um desses também?". Ainda, Torvalds também frisou que trabalhando dessa forma, as pessoas poderiam criar várias modificações desse pingüim. Isso realmente acontece. Existem várias versões do Tux na internet.

Quando questionado sobre o porquê de pingüins, Linus Torvalds respondeu que não havia uma razão em especial, mas os achava engraçados e até citou que foi mordido por um "pingüim assassino" na Austrália. Além disso, a possibilidade de criação de versões desse pingüim são enormes. Como comparação, Torvalds citou que o logotipo do sistema operacional Windows não era ruim, mas pouco é possível fazer com ele.

Diante dessa situação, um concurso foi proposto para a escolha de uma imagem ideal de pingüim e o desenho criado por Larry Ewing acabou sendo o escolhido. Ele o havia criado usando o programas GIMP.

O nome Tux

Essa é uma questão que ainda gera controvérsias, mas a versão aceitável é a de que o nome Tux veio de "tuxedo", palavra em inglês para um tipo de roupa que no Brasil é conhecido como "smoking" ou "fraque". Isso porque as cores dos pingüins lembram um ser usando esse tipo de vestimenta. No entanto, há quem afirme que o nome Tux também é usado como referência ao nome de Linus Torvalds com Unix: Torvalds UniX.

Na escolha de nomes, houve outras sugestões, como Homer, em referência ao personagem Homer Simpsons da série de desenho animado The Simpsons. Essa sugestão foi dada pelo fato do Tux ser semelhante ao personagem em questão.

O Tux real

Alan Cox, outra personalidade por trás do Linux, juntamente com a revista Linux World, decidiu dar o nome de Tux a um pingüim do zoológico de Bristol, na Inglaterra, como forma de homenagear Linus Torvalds por seu aniversário. No entanto, esse pingüim em nada se parece com o Tux em forma de desenho.

Finalizando

O uso de uma figura de um pingüim como logotipo do Linux certamente foi uma escolha feliz, pois é uma imagem convidativa, que desperta a curiosidade e que talvez transmite a sensação de algo feito em comunidade, pois "pingüins vivem em bandos". O Tux ganhou tanta importância que hoje existem até produtos que usam sua imagem, como adesivos, enfeites de mesa, roupas, bonecos de pelúcia, entre outros. Não podia ser diferente, afinal o Tux representa não somente o Linux, mas também toda a sua comunidade.

sábado, 7 de junho de 2008

Instalando Samba !

Samba é um serviço de compartilhamento de diretórios, arquivos e autenticação de usuários em redes heterogêneas.

Instalando...
#aptitude install samba samba-doc smbclient smbfs
#dpkg-reconfigure samba

Escolha iniciar como deamon e selecione NÃO para não gerar a base de dados para senha em /var/lib/samba/passdb.tdb

Configurando...

Crie um diretório para o compartilhamento:
#mkdir -p /srv/samba/publico

Vou colocar as principais linhas que devem ser editadas para o funcionamento no samba, mas aqui... fica a critério de vocês:

#vim /etc/samba/smb.conf

[global]
#Grupo de trabalho
workgroup = nome_do_grupo

#Comentário para o servidor
server string = Servidor de Arquivos

#Para configurar compartilhamentos sem a necessidade de controle de usuários e senhas
security = share

#O samba se torna um servidor WINS ( resolve nomes windows )
wins support = Yes

#Compartilhamento

#Publico
#Opção para adicionar comentário ao compartilhamento
comment = Pasta Pública

#Define qual o diretório será utilizado como compartilhamento
path = /srv/samba/publico

#Se tem ou não permissão de escrita no compartilhamento
writable = No

#Define um usuário padrão que será usado por todos que acessarem este compartilhamento
force user = smbuser

#Define um grupo padrão que será usado por todos que acessarem este compartilhamento
force group = users

#Define com quais permissões os arquivos serão criados
force create mode = 0774

#Define com quais permissões os diretórios serão criados
force directory mode = 0775

#Define se usuários "convidados" terão acesso ao compartilhamento
guest ok = Yes

Agora fora do arquivo.. Adicione o usuário e grupo:
#adduser smbuser
#gpasswd -a smbuser users

Definir permissões...
#chown smbuser:users /srv/samba/publico

Iniciando o serviço...
#/etc/init.d/samba start

Verifique se o serviço está disponivel na rede:
#netstat -nltup | egrep '(smbd|nmbd)'

Verifique os compartilhamentos disponiveis:
#smbclient -L 127.0.0.1

Testando o serviço e a resolução de nomes:
#smbclient -d 3 -L localhost

Abra o arquivo a seguir e insira os nomes e IP's para resolver nomes...
#vim /etc/samba/lmhosts
IP NOME
IP NOME

Agora observe se os serviços estão ativos:
#sbmclient -L IP -N

Montando o compartilhamento...
#smbmount //IP/local_do_compatilhamentos /onde_vai_montar

Para monitorar as conexões...
#sbmstatus

Localizar servidores e compartilhamentos...
#smbtree

Dica: instale um pacote chamado swat
#aptitude install swat

Abra o browser e digite
http://localhost:901/
Coloque o usurário e a senha de root!

Agora você pode adminstrar se samba via brower! Gostaram ?

Abraço!

Acessando o OpenLdap via Browser

Bom galera, aqui vai um pequeno complemento da outra postagem sobre o OpenLdap. ( é necessario ter apache2 para isso)

Instale os pacotes:
#aptitude install php-pear php5-ldap

Verifique se seu servidor apache está com suporte ao PHP:
#ls -l /etc/apache2/mods-enable

Instale outro pacote:
#aptitude install phpldapadmin

Agora, abra seu browser e digite e digite no campo do URL:
127.0.0.1/phpldapadmin/index.html

Agora vamos autenticar com o Squid:
#vim /etc/squid/squid.conf

Modifique a seguinte linha:
auth_param basic program /usr/lib/squid/ldap_auth -b dc=[seunome],dc=com,dc=br -f
uid=%s SEU_IP

Prontinho, estamos com o OpenLdap instalado, configurado, podemos acessar via browser e está autenticando com o squid. Você merece até um aumento de salário *-* !

Abraço!

Instalando e configurando o OpenLdap

Instale os pacotes do OpenLdap
#aptitude install libldap2 ldap-utils slapd

Depois de instalado, use o dpkg para confirurar.:
#dpkg-reconfigure slapd

Serão feitas algumas perguntas:
-Omitir configuração de servidor OpenLdap: NÃO
-Informe o nome de domínio DNS para construir a base dn: seu_dominio.com.br
-Informe nome da organização: EMPRESA
-Digite a senha: ******
-Escolha base de dados: BDB
-Remoção da base de dados quando o pacote slapd for expurgado: NÃO
-Mover base antiga de dados em /var/lib/ldap: SIM
-Permitir protocolo LDAPv2: SIM (Requirido para integrar com o Squid com o OpenLdap)

Inicie o serviço do OpenLdap:
#/etc/init.d/slapd start (em algumas distribuições fica em /usr/local/libexec/slapd

Verifique se o serviço está disponivel na rede:
#netstat -lp | grep ldap

Faça um teste da configuração do OpenLdap:
#slaptest

Instale os seguintes pacotes:
#aptitude install perl
#aptitude install migrationtools

Agora acesse o diretório:
#cd /usr/share/migrationtools
#cp -av migrate_common.ph migrate_common.ph.original ( estamos criando um backup do arquivo)

Agora edite as seguintes linhas do arquivo migrate_common.ph
#vim migrate_common.ph

$DEFAULT_MAIL_DOMAIN="[dominio].com.br";
$DEFAULT_BASE=dc="[seu nome],dc=com,dc=br";

Agora vamos migrar a base de usuários do sistema paa uma base padrão LDIF:
#cd /usr/share/migrationtools
#./migrate_passwd.pl /etc/passwd /etc/ldap/users.ldif

Se quiser dar uma olhada no arquivo criado:
#less etc/ldap/users.ldif

Agora vamos migrar a base de grupos do sistema:
#./migrate_passwd.pl /etc/group /etc/ldap/groups.ldif

Crie uma base ldif:
#./migrate_base.pl > /etc/ldap/base.ldif

Abra o arquivo que acabamos de criar e delete as linhas de 1 a9, por default a migração criou as linhas, podendo gerar erro durante a importação:
#vim /etc/ldap/base.ldif

Adicione a base ldif a base do OpenLdap
#ldapadd -x -D cn=admin,dc=seunome,dc=com,dc=br -f /ect/ldap/base.ldif -W
#ldapsearch -x | more

Adicione o groups.ldif:
#ldapadd -x -D cn=admin,dc=[seunome],dc=com,dc=br -f /ect/ldap/groups.ldif -W

Adicione o user.ldif
#ldapadd -x -D cn=admin,dc=[seunome],dc=com,dc=br -f /ect/ldap/users.ldif -W

Podemos transferir as informações em formato ldif através do slapadd passando a informação direto para o servidor:
#/etc/init/d/slapd stop
#slapadd -l meuarquivo.ldif -f slapd.conf

Realizando buscas específicas:
#ldapsearch -x -b ´dc=seunnome,dc=com,dc=br´ ´(cn=cdrom)´

Consultando a base OpenLdap:
#slapcat | more


Configurando o Cliente OpenLdap:
#vim /etc/ldap/ldap.conf

Adicione as linhas:
hostname 127.0.0.1
base dc=seunome,dc=com,dc=br
pam_password md5
pam_filter objectclass=account
pam_groupdn cn=users,ou=Group,dc=seunome,dc=com,dc=br

Na proxima postagem vamos ver como usar configurar o OpenLdap para acessar via Browser!
Espero que tenham gostado!
Abraço

Comandos Básicos de Linux

Os comandos básicos do Linux

Comandos do Linux mais comuns. Para utilizá-los, basta digitá-los e pressionar a tecla Enter de seu teclado. É importante frisar que, dependendo de sua distribuição Linux, um ou outro comando pode estar indisponível. Além disso, alguns comandos só podem ser executados por usuários com privilégios de administrador.

A relação a seguir mostra os comandos seguidos de uma descrição:

cal: exibe um calendário;

cat arquivo: mostra o conteúdo de um arquivo. Por exemplo, para ver o arquivo infowester.txt, basta digitar cat infowester.txt;

cd diretório: abre um diretório. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretório raiz a partir de qualquer outro, digite apenas cd;

chmod: comando para alterar as permissões de arquivos e diretórios.

clear: elimina todo o conteúdo visível, deixando a linha de comando no topo, como se o sistema acabasse de ter sido acessado;

cp origem destino: copia um arquivo ou diretório para outro local. Por exemplo, para copiar o arquivo infowester.txt com o nome infowester2.txt para /home, basta digitar cp infowester.txt /home/infowester2.txt;

date: mostra a data e a hora atual;

df: mostra as partições usadas;

diff arquivo1 arquivo2: indica as diferenças entre dois arquivos, por exemplo: diff calc.c calc2.c;

du diretório: mostra o tamanho de um diretório;

emacs: abre o editor de textos emacs;

file arquivo: mostra informações de um arquivo;

find diretório parâmetro termo: o comando find serve para localizar informações. Para isso, deve-se digitar o comando seguido do diretório da pesquisa mais um parâmetro (ver lista abaixo) e o termo da busca. Parâmetros:

name - busca por nome
type - busca por tipo
size - busca pelo tamanho do arquivo
mtime - busca por data de modificação

Exemplo: find /home name tristania

finger usuário: exibe informações sobre o usuário indicado;

free: mostra a quantidade de memória RAM disponível;

halt: desliga o computador;

history: mostra os últimos comandos inseridos;

id usuário: mostra qual o número de identificação do usuário especificado no sistema;

kill: encerra processados em andamento.

ls: lista os arquivos e diretórios da pasta atual;

lpr arquivo: imprime o arquivo especificado;

lpq: mostra o status da fila de impressão;

lprm: remove trabalhos da fila de impressão;

lynx: abre o navegador de internet de mesmo nome;

mv origem destino: tem a mesma função do comando cp, só que ao invés de copiar, move o arquivo ou o diretório para o destino especificado;

mkdir diretório: cria um diretório, por exemplo, mkdir infowester cria uma pasta de nome infowester;

passwd: altera sua senha. Para um administrador mudar a senha de um usuário, basta digitar passwd seguido do nome deste;

ps: mostra os processos em execução.

pwd: mostra o diretório em que você está;

reboot: reinicia o sistema imediatamente (pouco recomendável, preferível shutdown -r now);

rm arquivo: apaga o arquivo especificado;

rmdir diretório: apaga o diretório especificado, desde que vazio;

shutdown: desliga ou reinicia o computador, veja:
shutdown -r now: reinicia o computador
shutdown -h now: desliga o computador

O parâmetro now pode ser mudado. Por exemplo: digite shutdown -r +10 e o sistema irá reiniciar daqui a 10 minutos;

su: passa para o usuário administrador, isto é, root (perceba que o símbolo $ mudará para #);

tar -xzvf arquivo.tar.gz: extrai um arquivo compactado em tar.gz;

telnet: ativa o serviço de Telnet em uma máquina. Para acessar esse computador a partir de outros por Telnet, basta digitar telnet nomedamáquina ou telnet IP. Por exemplo: telnet 192.168.0.10. Após abrir o Telnet, digite help para conhecer suas funções;

top: exibe a lista dos processos, conforme os recursos de memória consumidos;

uname: mostra informações do sistema operacional e do computador. Digite uname -a para obter mais detalhes;

useradd usuário: cria uma nova conta usuário, por exemplo, useradd wester cria o usuário wester;

userdel usuário: apaga a conta do usuário especificado;

uptime: mostra a quantas horas seu computador está ligado;

vi: inicia o editor de textos vi.

whereis nome: procura pelo binário do arquivo indicado, útil para conhecer seu diretório ou se ele existe no sistema;

w: mostra os usuários logados atualmente no computador (útil para servidores);

who: mostra quem está usando o sistema.

Finalizando

Praticamente todos os comandos citados possuem parâmetros que permitem incrementar suas funcionalidades. Por exemplo, se você digitar o comando ls com o parâmetro -R (ls -R), este mostrará todos os arquivos do diretório, inclusive os ocultos.

A melhor forma de conhecer os parâmetros adicionais de cada comando é consultando as informações de ajuda. Para isso, pode-se usar o recurso --help. Veja o exemplo para o comando ls:

ls --help

Também é possível utilizar o comando man (desde que seu conteúdo esteja instalado), que geralmente fornece informações mais detalhadas. Par usar o man para obter detalhes do comando cp, por exemplo, a sintaxe é:

man cp

Se você estiver utilizando o bash, pode-se aplicar o comando help ou info da mesma forma que o comando man:

help cp

info cp

Assim como conhecer os comandos básicos do Linux é importante, também o é saber como acessar seus recursos de ajuda, pois isso te desobriga de decorar as seqüências das funcionalidades extras. Sabendo usar todos os recursos, você certamente terá boa produtividade em suas tarefas no Linux.

Abraço

Características do EXT4

Ext4 a nova versão so mais famoso filesystem que o linux usa, vem com varias mudanças relevantes. Confiram:

Detailed Description

O Ext4 filesystem, é a evolução do ext3 - mais escalável e de melhor desempenho, graças a uma nova dimensão ao formato de disco e nova atribuição heurística. Novos recursos incluem:

* Extensão formato baseado em disco
* 48-bit bloco números
* Atribuição Multiblock
* Atribuição atrasadas (não na versão inicial)
* 32000 Break subdiretório limite
* Diretório nodos reserva
* Nanosegundo timestamps
* Inode versão em disco
* Não inicializadas grupos (não na versão inicial)
* Jornal checksumming
* Persistentes preallocation
* Online desfragmentação (não na versão inicial)

mais informações em ext4 wiki

Abraço


Usando o google de melhor forma!

Bom galera, ai vai umas dicas sobre como utilizar o google, para fazer buscas mais específicas, e obter resultados melhores!


1 - Aprimore suas pesquisas no Google

Você pode aprimorar suas pesquisas usando operadores (+ e -):

palavra +palavra2: procurará páginas que contenham palavra e palavra2;

palavra -palavra2: mostrará páginas que tenhama palavra, mas que não tenha palavra2 (não dê espaço antes do segundo termo);

É possível combinar as operações. Por exemplo, palavra + palavra2 -palavra3.

2 - Pesquise pela frase exata

Se você digitar a frase determinação de um trem, o Google mostrará páginas que tenham as palavras determinação, de, um, trem, mesmo que não esteja nesta ordem. Para procurar a frase exata, digite-a entre aspas: “determinação de um trem”.

3 - Faça busca por sistema operacional

Pouca gente sabe, mas o Google tem páginas para sistemas operacionais. Assim, se você é usuário de Linux ou Mac, por exemplo, poderá buscar assuntos específicos para esses sistemas. Veja lista de páginas:

Google para Palm: http://www.google.com/palm

Google para Linux: http://www.google.com/linux

Google para Mac: http://www.google.com/mac

Google para Windows: http://www.google.com/microsoft

4 - Faça cálculos no Google

Fazer cálculos no Google é simples. Digite, por exemplo, 42 + 20, 18 * 3 (multiplicação), 14 / 8 (divisão) ou 4 - 3 e veja o que acontece. O Google consegue realizar desde operações básicas até as mais complexas. Basta digitar o tipo de cálculo desejado. Veja a lista:

Digite e o Google fará
5 ^ 3 = 5 elevado a 3
sin(45 degrees) = o seno de 45 *
tan(45 degrees) = a tangente de 45 *
cos(45 degress) = o cosseno de 45 *
sqrt (90) = a raiz quadrada de 90
ln (13) = o logaritmo base e de 13
log (1,000) = o logaritmo base 10
50! = o fatorial de 50
4th root of 64 = o cálculo da quarta raiz de 64 **

* O degrees não é obrigatório. Digite-o somente quando desejar o valor em graus. Sem o degrees, o valor é fornecido em radianos.

** Para 1, deve-se usar st em vez de th. O mesmo vale para 2, onde deve-se nd e 3, onde deve-se usar rd. Para 4 e os demais números, deve-se usar th.

Obs.: os valores usados na lista servem de exemplo. Obviamente você pode utilizar os valores que quiser.

Você não precisa usar cada operação por vez. É possível fazer combinações. Por exemplo, digite (14+554)*ln(13)/tan(90)+ 1. O Google dará como resultado -729.197942.

5 - Faça conversões

É possível fazer conversões no Google. Veja a lista de conversões:

Digite e o Google converterá
30 cm in ft = 30 centímetros em pés
50 km in miles = 50 quilômetros em milhas
10 kg in lb = 10 quilos em libras
VI in arabic numerals = VI em número arábico (o que utilizamos hoje em dia)
2004 in roman numerals = 2004 em números romanos

Em todos os casos, é possível que você faça as operações de modo contrário. E há outras conversões. Basta saber os nomes das medidas em inglês e experimentar no Google. No lugar dos valores, você pode usar equações. Por exemplo, 10/5+459 in roman numerals. O Google mostrará CDLXI.

6 - Dicionário

É possível usar o Google como dicionário. Para isso, digite a palavra define, seguida de : (sinal de dois pontos) mais o termo. Por exemplo, suponha que você queira saber o que é Linux. Então, no Google, digite: define: linux. Agora, é só ver o significado.



Espero que tenham gostado!

Abraço

terça-feira, 3 de junho de 2008

Configurando o PAM

Trabalhar com módulos do PAM, é possibilitar que as aplicações consigam fazer outros controles no login e na conta dos usúarios, que por padrão não conseguiriam.

Verifique quais módulos do PAM já estão instalados no sistema.
#ls /lib/security/

A maioria dos programas tem suporte ao PAM. Vamos verificar quais:
#ls /etc/pam.d

Abra o aquivo
#vim /etc/pam.d/login

tire o comentario da linha
#auth requisite pam_nologin.so

abra outro terminal, entre como root e crie o arquivo
#touch /etc/nologin

agora no arquivo de configuração adicione a linha
account requisite pam_time.so

saia e salve o arquivo
ESC
wq

abra o arquivo
#vim /etc/security/time.conf

login;*;root;a10000-2359
saia e salve
ESC
wq

Explicando: O arquivo nologin nega o root de logar, ou seja o usuário root não loga mais no sistema. Isso é bom, pois o root é muito visado, pois qualquer linux tem o root, então só falta descobrir a senha para invadir, agora negando o acesso ao root, de que adianta se matar para descobrir a senha do root ? Entao, vamos dar o poder de su para algum usuario.

#groupadd nome_do_grupo
#useradd -g nome_do_grupo -s /bin/bash -m usuario
#passwd usuario

Criamos um grupo, um usuario, adicionamos o usuario ao grupo criado e congiduramos uma senha para ele certo ?
agora..
#vim /etc/pam.d/su
ache e edite a linha
auth required pam_wheel.so group=nome_do_grupo

saia e salve
ESC
wq

faça o teste!

você pode também definir uma hora para utilizar o ssh
abra o arquivo
#vim /etc/pam.d/ssh
account required pam_time.so

saia e salve

ESC
wq

abra o arquivo
#vim /etc/security/time.conf
edite a linha
ssh;*;*;a10730-1900 ( nesse caso estamos colando das 7:30 às 19:00 )

sai e salve

ESC
wq

Isso ae galera! Bom proveito!

Instalando e Configurando Squid

Squid, é um web proxy que tem por objetivo otimizar a velocidade de conteúdos web. É amplamente usado em ambientes corporativos, tendo como vantagem fazer cache do conteúdo, filtrar sites, controlar acessos e diminuir a utilização da banda de internet.

Vamos ao que interessa!
verifique se o pacote de squid já está instalado.
#dpkg -l squid

Se não..
#aptitude install squid

Já instalado, vamos configurá-lo.
#vim /etc/squid/squid.conf

Primeiro devemos alterar a porta ou porta e hostname/IP que o squid irá escutar as conexões.
localize a linha http_port e troque
http_port 192.168.0.0:3128 ( porta padrão )

Adicione a linha abaixo que informará o nome que será visto nas páginas de erro do squid.
visible_hostname Squid( mensagem )

Por padrão, o squid roda negando todas as requisições, entao modifique a linha:
#http_access deny all
por
http_access allow all

Pronto, já está basicamente configurado. Agora vamos ao cache.
Ainda no arquivo de configuração. Adicione a linha ( isso se já não tiver )
cache_dir ufs /var/spool/squid 512 128 256

Onde estruturamos 512MB de cache, 128 diretórios e 256 subdiretórios. Lembrando que para cada 1GB de cache 10MB de ram é necessário!

Podemos definir também que não seja feito cache de páginas seguras.
no_cache deny SSL_ports
agora saia do arquivo.

ESC
wq
ENTER

#squid -z ( para rescontruir a estrutura de cache )

entre novamente no arquivo
#vim /etc/squid/squid.conf

Podemos também definir ACL's

acl almoço time 12:00-14:00
acl rede0 src 192.168.0.0/24 ( estamos ainda apenas criando as ACL's )

agora, vamos negar ou permitir as ACL's
vá para a linha
#Deny ( negar ) ou Allow ( permitir )
http_access Allow rede0 almoço

acabamos de dizer que na hora do almoço 12:00 às 14:00 a rede0 ira acessar!

Saia e salve o arquivo
ESC
wq
ENTER

restart o serviço do squid
/etc/init.d/squid restart

Dá para fazer uma whiteliste e uma blacklist com sites que irão ser pemitidos e negados, as vezes fica até mais facil! Usar senhas, muita coisa!

Espero que tenham gostado! :)

abraço

domingo, 1 de junho de 2008

Quebrando a Senha de root no grub

Aee galera, aqui para aqueles que esqueceram por acaso a senha do root, a maneira mais simples de recuperá-la NÃO é reinstalando o sistema!

No grub, selecione a linha do linux, e aperte E, depois aperte E
novamente na linha do kernel mais ou menos algo como kernel =
(hd0,1)/boot/vmlinuz-2.6.5-63255U10_1cl *root*=/dev/hda2).

Na frente da linha damos um espaço e inserimos o seguinte parâmetro:
init=/bin/bash
Ficando assim : kernel = (hd0,1)/boot/vmlinuz-2.6.5-63255U10_1cl
*root*=/dev/hda2 init=/bin/bash

Feito isso pressione ENTER para alterar e em seguida pressione "B" para
disparar o kernel. Isso no GRUB…

O kernel irá subir mas o INIT será desviado abrindo um BASH limpinho pra
você com os poderes de *root*. Ainda não podemos mexer em nada pois o
sistema está montado como "somente leitura".

digite: mount -o remount,rw /

Agora, abra o arquivo /etc/shadow

vi /etc/shadow


Localize a linha do root, algo como *root*:X:12707:0:99999:7:::

Apagaque o que estiver entre : : no nosso caso o X :X:

aperte ESC, :wq ENTER

reinicie a maquina
agora, a senha de root estara branca, ou seja, so digitar o usuario
root, sem senha!

Faça bom proveito! : )

Abraço

Fedora Core 9

Saaalve galera, começando aqui no blog, falando um pouco sobre o lançamento do Fedora 9

Bom galera, o fedora para quem não conhece é uma distribuição Linux, baseada em Red Hat. O desenvolvimento do Fedora é realizado por uma comunidade aberta que é patrocinada pela Red Hat e Fedora project.
Bom, o novo Fedora, vem com algumas surpresinhas, que prometem esquentar a briga contra os sistemas gráficos Windows e MAC.
Algumas das novidades:

* Xorg 1.5
* FreeIPA
* Encriptação de sistemas de arquivos pelo Anaconda
* Melhorias no NetworkManager
* KDE4
* Gnome 2.22
* Live persistence
* Novo GDM
* Preupgrade
* Redimencionamento de partições via anaconda
* Upstart
* Firefox 3

A lista completa, está aqui!

Se você nunca usou Linux, tem vontade, ou você que usa. Vale a pena da uma olhada! Tá muito bacana mesmo!

Abraço.