Como integrar o SUSE Linux Enterprise 11 com o Windows Active Directory

 suse_linux_logo1 Obtendo SUSE Enterprise Linux integrado com o Microsoft Active Directory é muito mais fácil do que parece.

Existem alguns pré-requisitos para atender antes:

  • Samba cliente deve ser instalado.
  • Pacotes de samba-winbind e krb5-client deve ser instalado.
  • O servidor DNS primário deve ser o controlador de domínio.

Para esta tarefa, vamos utilizar YaST2, a ferramenta de configuração do SUSE.

YaST2 pode ser executado em gráfica …

Screenshot-YaST2 Control Center-1

… Ou em modo texto.

YaST2_text_mode

Eu decidi usar o modo de texto, uma vez que será de longe o caso de uso mais comum, de qualquer maneira em ambos os casos o procedimento é exatamente o mesmo.

Vai para a seção de Serviços de Rede e depois selecione Windows Participação no domínio. O domínio do Windows tela de configuração do Membership irá aparecer.

Na área de Membership digite o nome do domínio e configurar as opções que melhor se adequar ao seu ambiente, incluindo as outras seções da tela.

YaST2_WinDom_config

Eu configurá-lo para permitir SSH single sign-on, mais sobre isso mais tarde, e para criar um diretório home do usuário em seu primeiro login.

Você deve levar em conta a configuração NTP já que é um componente crítico de autenticação Active Directory.

Selecione OK para confirmar a sua selecção e um pequeno pop-up irá aparecer para informar que o host não faz parte do domínio e se você quiser participar.

YaST2_domain_confirmation

Em seguida, você deve digitar a senha do administrador de domínio.

YaST2_domain_admin_password

E, finalmente, YaST confirmar o sucesso da operação.

YaST2_domain_joined

Neste ponto, a configuração básica é feito e que o servidor deve ser integrado no domínio do Windows.

Sob o capô, este processo alterou vários arquivos de configuração, de modo a obter o sistema pronto para autenticar contra o Active Directory:

  • smb.conf
  • krb5.conf
  • nsswitch.conf

smb.conf

O primeiro é o arquivo de configuração do samba de serviço. Como você deve saber Samba é uma implementação open source do SMB / CIFS do Windows protocolo, que permite que sistemas Unix para integrar quase transparente em uma infra-estrutura de domínio do Windows e também fornece serviços de arquivo e impressão para clientes Windows.

O arquivo reside em / etc / samba. Dê uma olhada no conteúdo do arquivo, a parte relevante é a seção global.

[global]
        workgroup = VJLAB
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        printcap cache time = 750
        cups options = raw
        map to guest = Bad User
        include = /etc/samba/dhcp.conf
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = No
        idmap gid = 10000-20000
        idmap uid = 10000-20000
        realm = VJLAB.LOCAL
        security = ADS
        template homedir = /home/%D/%U
        template shell = /bin/bash
        winbind refresh tickets = yes

krb5.confO krb5.conf é o arquivo de configuração do Kerberos daemon que contém as informações necessárias para a biblioteca Kerberos.

jreypo@sles11-01:/etc> cat krb5.conf
[libdefaults]
        default_realm = VJLAB.LOCAL
        clockskew = 300
[realms]
        VJLAB.LOCAL = {
                kdc = dc.vjlab.local
                default_domain = vjlab.local
                admin_server = dc.vjlab.local
        }
[logging]
        kdc = FILE:/var/log/krb5/krb5kdc.log
        admin_server = FILE:/var/log/krb5/kadmind.log
        default = SYSLOG:NOTICE:DAEMON
[domain_realm]
        .vjlab.local = VJLAB.LOCAL
[appdefaults]
        pam = {
                ticket_lifetime = 1d
                renew_lifetime = 1d
                forwardable = true
                proxiable = false
                minimum_uid = 1
        }
jreypo@sles11-01:/etc>

nsswitch.conf

nsswitch.conf

O arquivo nsswitch.conf como afirma a sua página man é os bancos de dados do sistema eo nome do serviço de arquivo de configuração do Switch. Basicamente, ele inclui as diferentes bases de dados do sistema para procurar informações de autenticação quando o usuário tenta fazer logon no servidor.

Dê uma olhada rápida no arquivo e você verá os dois campos alterados, passwd e group. Em ambos a opção winbind foi adicionado a fim de indicar o sistema para usar o Winbind, o nome daemon Service Switch usado para resolver nomes de servidores NT.

passwd: compat winbind 
group:  compat winbind

SSH single sign-on

Finalmente, precisamos testar a conexão SSH ao host usando uma conta de usuário do domínio. Quando perguntado sobre as credenciais de login utilizar o DOMAIN \ USER fórmula para o nome do usuário.

SSH_auth

Esse tipo de integração é muito útil, especialmente para as lojas maiores, porque você não tem que manter a lista de usuários de seus servidores SLES individualmente, basta apenas a conta de raiz desde as outras contas pode ser gerenciado centralmente a partir do domínio do Windows.

No entanto, há uma questão que deve ser levado em conta, o sign-on único de autenticação SSH significa que qualquer pessoa com uma conta de domínio podem registrar em seus servidores Linux e não queremos isso.

Para evitar essa situação potencialmente perigosa que vão limitar o acesso apenas aos grupos de usuários que realmente necessitam. Eu vou usar os Domain Admins para lhe mostrar como.

Primeiro, precisamos olhar para o ID do grupo Domain Admins dentro da nossa caixa de Linux. Entrar como DOMAIN \ Administrator e use o comando ID para obter a informação do usuário.

VJLAB\administrator@sles11-01:~> id
uid=10000(VJLAB\administrator) gid=10000(VJLAB\domain users) groups=10000(VJLAB\domain users),10001(VJLAB\schema admins),10002(VJLAB\domain admins),10003(VJLAB\enterprise admins),10004(VJLAB\group policy creator owners)
VJLAB\administrator@sles11-01:~>

Existem vários IDs de grupo, para os nossos propósitos, precisamos da VJLAB \ domain admins que é 10002.

Você deve estar se perguntando, mas o GID não é 10002, mas 10 mil? Sim você está certo e por isso precisamos fazer algumas alterações a nível controlador de domínio.

Fogo até o Server Manager e vá para Funções -> Active Directory Domain Services –> Active Directory Users and Computers –> DOMAIN –> Users.

server_manager

No painel à direita editar as propriedades da conta que você quer ser capaz de acessar o servidor linux via SSH. No meu caso eu usei o meu juanma conta própria. Na guia Membro de selecionar o grupo Domain Admins e clique em Definir Grupo Primário.

member_of

Agora precisamos modificar a forma como o daemon pam gerenciar a autenticação. Volte para o SLES e editar / etc / pam.d / sshd.

#%PAM-1.0
auth     requisite      pam_nologin.so
auth     include        common-auth
account  include        common-account
password include        common-password
session  required       pam_loginuid.so
session  include        common-session

Excluir a linha conta e adicionar as duas linhas seguintes.

account  sufficient     pam_localuser.so
account  sufficient     pam_succeed_if.so gid = 10002

O arquivo sshd deve ficar assim:

#%PAM-1.0
auth     requisite      pam_nologin.so
auth     include        common-auth
account  sufficient     pam_localuser.so
account  sufficient     pam_succeed_if.so gid = 10002
password include        common-password
session  required       pam_loginuid.so
session  include        common-session

E estamos a fazer. Qualquer comentário seria sempre bem-vindas ;) Fonte: jreypo

Como gerenciar arquivos do Terminal Linux: 11 Comandos que você precisa saber

Para usar o terminal do Linux como um profissional, você precisa conhecer os conceitos básicos de gerenciamento de arquivos e navegar nos diretórios. Fiel à filosofia Unix, cada comando faz uma coisa e faz bem.

Midnight Commander ou apenas MC, é um gerenciador de arquivos completo para o terminal do Linux, funciona como um front-end poderoso para todos estes comandos.

ls – Listar arquivos

O comando ls lista os arquivos em um diretório. Por padrão, ls lista os arquivos no diretório atual.

Você também pode listar os arquivos recursivamente, ou seja, listar todos os arquivos em diretórios dentro do diretório atual – com o comando ls-R.

O comando ls também pode listar os arquivos em outro diretório se você especificar o diretório. Por exemplo, ls / home irá listar todos os arquivos no diretório / home.

cd – Change Directory

As mudanças de comando cd para outro diretório. Por exemplo, Desktop CD irá levá-lo para o diretório Desktop se você está começando do seu diretório home.

Você também pode especificar um caminho completo para um diretório, como cd / usr / share para ir para o diretório / usr / share no sistema de arquivos.

cd .. irá levá-lo até um diretório.

rm – Remove arquivos

O comando rm remove arquivos. Tenha cuidado com este comando – rm não pedirá sua confirmação.

Por exemplo, um arquivo rm iria apagar o arquivo chamado “arquivo” no diretório atual. Como com outros comandos, você também pode especificar um caminho completo para um arquivo: rm / caminho do arquivo / para /iria excluir o arquivo em / caminho / para / arquivo no seu sistema de arquivos.

rmdir – Remover Diretórios

O comando rmdir remove um diretório vazio. Diretório rmdir iria apagar o diretório chamado “diretório” no diretório atual.

Se o diretório não está vazio, você pode usar um comando recursivo rm para remover o diretório e todos os arquivos nele. Rm-r diretório seria excluir o diretório chamado “diretório” e todos os arquivos nele. Este é um comando perigoso que poderia facilmente apagar um monte de arquivos importantes, por isso tome cuidado ao usá-lo. Não vai pedir a confirmação.

mv – mover arquivos

O comando mv move um arquivo para um novo local. Este também é o comando que você vai usar para renomear arquivos. Por exemplo, mv newfile arquivo levaria o arquivo chamado “arquivo” no diretório atual e movê-lo para o arquivo chamado “newfile” no diretório atual – renomeá-lo, em outras palavras.

Como com outros comandos, você pode incluir caminhos completos para mover arquivos para ou de outros diretórios. Por exemplo, o comando seguinte levaria o arquivo chamado “arquivo” no diretório atual e colocá-lo na pasta / home / renata :

arquivo mv / home / renata

O comando cp funciona da mesma maneira como o comando mv, exceto que ele copia os arquivos originais em vez de movê-los.

Você também pode fazer uma cópia recursiva com cp-r. Este copia um diretório e todos os arquivos dentro dela para um novo local. Por exemplo, os lugares de comando a seguir uma cópia do / home / renata / diretório de downloads para o diretório / home / understech:

cp-r / home / renata / Downloads / home / understech

mkdir – Faça Diretórios

O comando mkdir cria um novo diretório. Exemplo mkdir irá criar um diretório com o nome “exemplo” no diretório atual.

ln – Links Criar

O comando ln cria links. O tipo mais comumente usado de ligação é, provavelmente, o link simbólico, que você pode criar com ln-s.

Por exemplo, o comando a seguir cria um link para a nossa pasta de Downloads em nosso ambiente de trabalho:

ln-s / home / renata/ Downloads / home / renata / Desktop

chmod – Alterar permissões

chmod altera as permissões de um arquivo. Por exemplo, chmod + x script.sh acrescentaria permissões executáveis para o arquivo chamado script.sh na pasta atual. Chmod-x script.sh seria remover permissões executáveis a partir desse arquivo.

touch – criar arquivos vazios

O comando touch cria um arquivo vazio. Por exemplo, o exemplo de toque cria um arquivo vazio chamado “exemplo” no diretório atual.

mc – Um gerenciador de arquivos completo

Midnight Commander é um dos muitos gerenciadores de arquivos com todos os recursos que você pode usar a partir do terminal do Linux. Ele não é instalado por padrão na maioria das distribuições, aqui é o comando que você vai precisar instalá-lo no Ubuntu:

sudo apt-get install mc

Uma vez instalado, basta executar o comando mc para iniciá-lo.

Use as setas do teclado para selecionar arquivos e a tecla Tab para alternar entre os painéis. Pressione Alt-1 para ver a tela de ajuda ou Alt-2 para ver o menu.

Você também pode usar o mouse em Midnight Commander se o seu ambiente de terminal tem suporte para mouse.

Por enquanto é isso galera, caso tenha alguma dúvida, por favor, perguntem!

Fonte: understech

Instale o CentOS no Windows 8 Hyper-V

Para alguns cursos KTSI precisamos de um CentOS para testar algumas coisas Linux spesific como o Apache e outras coisas. A coisa boa, o Windows 8 tem o Hyper-V e Hyper-V suporta CentOS.

Com a versão 3.2 oft a Integração Linux Services Microsoft corrigiu um bug que também ocorreu no Windows 8.

  1. Primeiro baixe CentOS
  2. Baixe o Linux Integration Services Versão 3.2 para Hyper-V
  3. Iniciar Gerenciador Hyper-V e criar uma nova máquina virtual
  4. Instale 6.x CentOS
    centos hyper-v
  5. Reinicie a máquina virtual
  6. Entrar como root
    centos hyper-v
  7. Monte a Integração Linux Services ISO a partir do passo 2
  8. Agora execute os seguintes comandos na máquina virtual
    1
    2
    <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">sudo mount /dev/cdrom /media</span> sudo mount / dev / cdrom / media</span>
    <span onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">sudo /media/install.sh</span> sudo / media / install.sh</span>

    centos hyper-v

  9. Após a instalação estiver concluída, você tem que reiniciar a máquina virtual novamente
    centos hyper-v
  10. Acabou uahuahuhauhhua ;-)

Configurando o MSN-Proxy v0.7 no Debian 5

Controle o uso do msn Messenger em sua rede. Desfrute de vários recursos, bem como log das conversas, aviso sobre o monitoramento, bloqueio exclusivo a determinado usuário, entre outros.
A versão 0.6.3 não tínhamos suporte ao Messenger 9.
Nesta nova versão algumas alterações foram feitas no sentido de resolver o problema de conexão para quem tem muitos contatos!

Tenha instalado Apache2 + PHP5 + MySQL.
Caso não tenha esses pacotes, instale com os comandos:

# aptitude install php5 libapache2-mod-php5 php5-gd php5-imagick php5-mysql
# aptitude install apache2
# aptitude install mysql-server phpmyadmin
# mysqladmin -u root password SENHA-DO-MYSQL

Instalando os compiladores e lib do MySQL:
# aptitude install make gcc g++
# aptitude install -f libmysqlclient15-dev

Instalando Libvent: Busque sempre por uma versão recente (http://monkey.org/~provos/libevent/)
O libevent API fornece um mecanismo para executar uma função chamada quando um evento específico ocorre em um descritor de ficheiro ou após um tempo limite foi atingido.

# wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz (verifique sempre se não existe uma nova versão)
# tar -vxzf libevent-1.4.13-stable.tar.gz
# cd libevent-1.4.13-stable
# ./configure
# make
# make install
# cd /usr/lib/
# ln -s /usr/local/lib/libevent-1.4.so.2
# ln -s /usr/local/lib/libevent-1.4.so.2.1.2

Instalando o MSN Proxy: (http://sourceforge.net/projects/msn-proxy/)

# wget http://ufpr.dl.sourceforge.net/sourceforge/msn-proxy/msn-proxy-0.7.tar.gz
# tar -vxzf msn-proxy-0.7.tar.gz
# cd msn-proxy
# vim Makefile

Se preferir pode usar a versão do SCM Repositories (Esta versão esta em desenvolviemtno)

- Correcao de memory leaks.
 - Alteracao nos paths dos arquivos de configuracao.
 - Migracao para o autotools finalizada.
 - Alteracao no nome do binário para msn_proxy (compatibilidade com o autotools).
 - Adicionados indices em algumas tabelas do MySQL.

Execute o comando abaixo p/ baixar.

# svn co https://msn-proxy.svn.sourceforge.net/svnroot/msn-proxy msn-prox

(se o comando svn nao funcionar instale com # aptitude install subversio)

# cd /msn-proxy/branches/msn-proxy-0.7

# vim Makefile

Aqui esta o pulo do gato, comente as linhas do FreeBSD:

# FreeBSD
#MYSQLINC=/usr/local/include
#MYSQLLIB=/usr/local/lib/mysql

E adicione as seguintes linhas

MYSQLINC=/usr/lib/mysql
MYSQLLIB=/var/lib/mysql/mysql

Vamos compilar e instalar.
# make
# make install

Agora iremos mover a pasta php para no nosso diretório var e após renomear para msn-proxy, e em seguida criaremos a tabela msn-proxy e faremos algumas alterações para que o msn-proxy conecte ao mysql.
# cp -R php /var/www/
# mv /var/www/php /var/www/msn-proxy

# mysql -p
(e digite a senha do root)

create database `msn-proxy`;
grant all privileges on `msn-proxy`.* to `msn-proxy`@localhost identified by 'SENHA';
flush privileges;
quit

Preste atenção no ” ” e ”  ” tem diferenças sobre mysql comandos.

# vim /var/www/msn-proxy/mysql.inc.php

Altere:

$host = "localhost";
$user = "msn-proxy";
$pass = "SENHA";
$db = "msn-proxy";
$port = 3306;

# vim /usr/local/etc/msn-proxy/mysql/conf

Deixe assim:

localhost|3306|msn-proxy|SENHA_USEUARIO_PROXY|msn-proxy

Vamos executá-lo, nesta fase ele irá criar as tabelas em sua base.
# /usr/local/bin/msn-proxy

Se tudo ocorrer bem, terá a seguinte mensagem:

PUBLIC ACCESS on /usr/local/etc/msn-proxy/mysql/conf should be removed !!!¹
fail to read mysql config (check defaults table)

# chmod 600 /usr/local/etc/msn-proxy/mysql/conf
# vim /usr/local/etc/msn-proxy/msn-proxy.conf

 max_clients=10

Por padrão vem controle para até 10 usuários, altere de acordo com suas necessidades.

Agora vamos direcionar a porta 1863 do msn, em nosso servidor, essa linha a baixo vc pode adicionala em seu firewall.

 /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-port 1863

Onde eth0 é interface de qual faço nat para minha rede (gtw dos clientes da rede) sendo desta forma termos que informa em nossa base o IP desta interface no banco de dados. Lembre-se eth0 não é a interface de entrada (internet), e sim a de saída (rede local).
Suponhamos q 192.168.254.1 é o ip desta interface.

# mysql -p
(e digite a senha do root)
mysql> use msn-proxy;
mysql> show tables;

Apenas para confirmarmos que nossa tabela foi criada, se estiver irá aparecer isso:

 

+---------------------+
| Tables_in_msn-proxy |
+---------------------+
| contact_groups      |
| contacts            |
| defaults            |
| log                 |
| sb                  |
| users               |
+---------------------+

mysql> INSERT INTO `defaults` ( `internal_host` , `connect` , `save_msg` , `save_contacts` , `commands` , `warnemail` , `warndn` , `warnmsg` , `msgfont` , `msgcolor` )
VALUES (
’192.168.254.1′, ‘YES’, ‘YES’, ‘YES’, ’0′, ‘rudimar@remontti.com.br’, ‘Administrador do Sistema’, ‘Para sua segurança esta mensagem esta sendo monitorada.’, ‘Arial’, ‘black’
);

Vamos ver se gravou?

mysql> SELECT * FROM `defaults`;

| 192.168.254.1 | YES | YES | YES | 0 | rudimar@remontti.com.br | Administrador do Sistema | Para sua segurança esta mensagem esta sendo monitorada. | Arial | black |
1 row in set (0.00 sec)

Se essa foi a reposta, está tudo pronto!
mysql> quit

Iniciando MSN Proxy:

# /usr/local/bin/msn-proxy &
# /usr/local/bin/msn-proxy -d & (-d para ver os logs)

Sua administração é feita via web, lembra dos comandos:
cp -R php /var/www/
mv /var/www/php /var/www/msn-proxy

Você copiou a pasta php que tinha no pacote de instalação para o diretório /var/www/ , bom agora bastar acessar via web para fazer a administração: http://ip-server/msn-proxy
Com uma boa fuçada você irá descobrir como ele funciona.

Qualquer dúvida deixe seu comentário.
Fontes:

http://sourceforge.net/projects/msn-proxy/

http://monkey.org/~provos/libevent/

Créditos: loos.br@gmail.com

Crie o seu Linux personalizado e online

O Linux tem a grande vantagem de ser livre e completamente personalizável. Poderá alterar todo o seu código consoante o que pretenda, dai existirem tantas distribuições do mesmo (Ubuntu, CentOS,etc…).

Mas para editar o código do kernel, necessita de ter altos conhecimentos de programação e um vasto conhecimento na área… Será?

 

O Suse Studio - http://susestudio.com/ - permite criar a sua própria distribuição de Linux em poucos passos. Como base o serviço utiliza o kernel do openSUSE.

Poderá alterar os programas instalados no sistema, escolher as imagens de boot, login, personalizar os icons, textos,sons… Praticamente tudo o que é necessário para ter a sua distribuição de Linux, e sem qualquer edição de código.

 

Por fim, poderá criar a sua imagem ISO e fazer o download para o seu computador. Poderá partilhar também a sua criação na galeria online, para toda a comunidade. O serviço permite ainda que teste a sua distribuição a partir do navegador, criando um pequeno “computador” para testar a instalação e execução do seu sistema.

 

Pode testar gratuitamente em http://susestudio.com/ .

FreeBSD 9.0 Beta 2 – Um sistema Operativo Poderoso

O FreeBSD é considerado por muitos como sendo um dos melhores sistemas operativos até à data. O Projecto FreeBSD é um dos mais antigos e bem sucedidos projectos a nível de sistemas operativos,certamente para confiabilidade, robustez e desempenho do sistema operativo.

Ken Smith, membro da equipa de desenvolvimento do projecto FreeBSD, anunciou recentemente a disponibilização do FreeBSD 9.0 Beta 2.

freebsd_01

 

O FreeBSD é um sistema operativo livre, do tipo Unix, descendente do BSD desenvolvido pela Universidade de Berkeley. Tal como o Linux, Windows ou MacOS, é multi-utilizador e multi-tarefas, permitindo a execução das mais variadas aplicações.

O seu elevado desempenho e estabilidade fez com que tenha sido escolhido por algumas das mais prestigiadas companhias que fornecem serviços na Internet.

freebsd_00

Está disponível para as plataformas as plataformas Intel x86DEC AlphaSparcPowerPC e PC-98 assim como para as arquitecturas baseadas em processadores de 64bits IA-64 e AMD64. O FreeBSD 9.0 Beta 2 chega  com cerca de 1 mês de atraso e desta forma não há novidades relativamente à data para a disponibilização da versão final.

Verifique aqui as novidades do FreeBSD 9.0 Beta 2.

Licença: BSD
Download: FreeBSD-9.0-BETA2 i386 (498MB, SHA256)
Download: FreeBSD-9.0-BETA2 amd64 (607MB, SHA256)
Homepage: FreeBSD

Fonte: Sapo.pt

Linux: Como executar uma aplicação remotamente?

Já aqui se falou varias vezes de como aceder remotamente a um PC em Linux ou Windows, através de VNC, RDP e outros. Mas em vez de aceder ao sistema completo se quisermos, como executar remotamente apenas uma aplicação ?

Vamos aprender como aceder a uma aplicação remotamente, utilizando o poderosíssimo SSH!

ssh_x

 

O SSH (Secure Shell) também conhecido como Secure Socket Shell é um protocolo/aplicação que permite de forma segura aceder remotamente a uma máquina Linux. Hoje vamos aprender como aceder remotamente apenas a uma aplicação.

Vamos então começar por instalar o serviço SSH

Ubuntu:

sudo apt-get install openssh-server

Fedora:

(é apenas necessário iniciar o serviço, pois ele já vem instalado por omissão)

sudo service sshd start

No fim de termos instalado o nosso servidor  SSH poderemos então aceder a aplicações pela parte do cliente utilizando a seguinte sintaxe:

ssh utilizador@[host/ip] comando

Exemplo:

ssh pgaspar@192.168.1.3 df -h

Este comando mostra-nos o fileSystem da máquina remota a qual estamos a aceder. Mas ainda mais interessante que isto e o facto de o SSH nos permitir aceder a aplicações gráficas.

Sintaxe:

ssh utilizador@[host/ip] -X comando

Exemplo:

ssh pgaspar@192.168.1.3 -X libreoffice

linux_00

Originalmente escrevi este artigo num PC com Fedora 15 que não tinha suite de Office, portanto abri remotamente o libreoffice de um PC com Ubuntu 11.04 que tinha.

Instalando Servidor DHCP no Ubuntu Com Duas Placas de Rede e Internet

Vamos falar de papo nerd? Se você tem um velho PC em casa e gostaria de controlar melhor sua rede de computadores, pode transforma-lo num servidor DHCP com o sistema operacional grátis Linux Ubuntu. Você precisa só colocar mais uma placa de rede nele pois precisamos de duas entradas de rede.

Instalar o Ubuntu no seu PC é fácil, basta baixar o arquivo imagem ISO de instalação grátis na internet, gravar para um CD e iniciar seu computador com ele dentro. Depois disso siga este guia para torna-lo seu servidor de rede dhcp. Para quem não sabe o servidor DHCP distribui os endereços de rede automaticamente quando você liga um computador na rede.

Cenário do PC Ubuntu com Servidor DHCP

Meu servidor é um PC com Ubuntu, com duas placas de rede, uma conectada ao modem DSL e a outra na subrede interna através de um switch que você pode comprar baratinho em qualquer loja de informática. Vamos checar as configurações das interfaces de rede:

Internet <<==>> eth1 <> Ubuntu gateway <> eth0 <<==>> Client PC

IP Interno Modem DSL – 192.168.0.1

Máquina Ubuntu Conectada ao Modem DSL com IP – 192.168.0.2 (eth1) -

Rede interna para distribuir os IPs na sub rede.

A segunda placa de rede (eth0) ficou com o IP fixo 10.100.254.54 (eth0)

Um cabo de rede liga o servidor Ubuntu da porta eth0 ao switch onde os computadores são conectados na subrede interna 10.100.254.0.

1. Configuração de Placas de Rede

Edite o arquivo interfaces

sudo nano /etc/network/interfaces

Você irá ter um conteúdo parecido com esse, altere para os seus valores de endereços IP.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.100.254.54
netmask 255.255.255.0
network 10.100.254.0
gateway 192.168.0.1
broadcast 10.100.254.255

auto eth1
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
broadcast 192.168.0.255

Para reiniciar as placas de rede e fazer as configurações valerem o comando é:

sudo /etc/init.d/networking restart

2. Instalando o DHCPD

Para instalar o servidor de DHCP entre o comando:

sudo apt-get install dhcp3-server

Altere o arquivo /etc/default/dhcp3-server para indicar a interface de rede que será usada na rede interna.

sudo nano /etc/default/dhcp3-server

No meu caso foi a placa de rede eth0

INTERFACES="eth0"

Agora vamos as configurações do servidor de DHCP, editando o arquivo dhcpd.conf

sudo nano /etc/dhcp3/dhcpd.conf

Que deve conter somente a seguinte informação:

ddns-update-style none;
option domain-name "clnetwork";
default-lease-time 3600;
max-lease-time 7200;
log-facility local7;

subnet 10.100.254.0 netmask 255.255.255.0 {
range 10.100.254.2 10.100.254.210;
option domain-name-servers 200.196.48.20,200.196.48.21;
option routers 10.100.254.54;
option broadcast-address 10.100.254.54;
}

Reinicie o servidor DHCP

sudo /etc/init.d/dhcp3-server restart

Ao reiniciar o seu computador, talvez o arquivo que contém os servidores DNS, que servem para principalmente navegar na internet, tenha seu conteúdo apagado. Conserte isso reinserindo estas informações:

sudo nano /etc/resolv.conf

# Generated by NetworkManager

nameserver 8.8.8.8
nameserver 8.8.4.4

Até aqui as máquinas que se conectarem na sua rede conseguem pegar seus endereços IPs através do seu servidor DHCP porém elas ainda não tem acesso a internet. Temos que programar um redirecionamento da placa de rede que acessa a internet para a que serve a rede dhcp.

Para ver os IPs liberados via dhcp, dê o seguinte comando no servidor:

cat /var/lib/dhcp3/dhcpd.leases

Redirecionando o tráfego de eth1 para eth0 via iptables

Vamos configurar o servidor para redirecionar o tráfego das interfaces de rede e fazer as máquinas clientes conseguirem acessar a internet.

sudo nano /proc/sys/net/ipv4/ip_forward

dentro do arquivo ip_forward deve haver o número 1 somente

sudo nano /etc/sysctl.conf

altere os seguintes parâmetros dentro do arquivo sysctl.conf:

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1

Agora por último a configuração de iptables:

sudo iptables -P INPUT ACCEPT
sudo iptables -F INPUT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F OUTPUT
sudo iptables -P FORWARD DROP
sudo iptables -F FORWARD
sudo iptables -t nat -F

sudo iptables -A FORWARD -i eth1 -o eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -j LOG

sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

OBS: Não se assuste, a internet só funciona nas máquinas clientes que pegam ip via seu servidor de dhcp após o último comando iptables “MASQUERADE”.

O comando “iptables -t nat -F” limpa a tabela de redirecionamento e depois que você digitou todos estes comandos, vamos salvar para um arquivo texto para quando a máquina reiniciar eles sejam automaticamentes reprogramados:

sudo iptables-save > /etc/network/iptables.rules

vamos criar um script de incialização chamado de “iptables”:

sudo nano /etc/network/if-up.d/iptables

com o seguinte conteúdo:

#!/bin/sh
# script: iptables
/sbin/iptables-restore /etc/network/iptables.rules

Salve e depois altere as permissões para execução:

sudo chmod 755 /etc/network/if-up.d/iptables

Análise de Tráfego nos IPs da rede DHCP

Para analisar o tráfego utilizado nos IPs da sua rede, você pode usar o tcptrack. Instale o tcptrack com o seguinte comando:

sudo apt-get install tcptrack

Usar o tcptrack é fácil, vamos por exemplo analisar o tráfego na porta 80:

sudo tcptrack -i eth0 port 80

Conclusões

Com um PC velho em casa e um sistema operacional como o Ubuntu você pode controlar sua rede interna através da instalação de um servidor DHCP. Seguindo este guia vimos como instalar o servidor DHCP no Ubuntu e configura-lo

Fonte: Gus SOS Brasilgus

Inventário de Máquinas com OCS

Fazer inventário dos micros não é uma tarefa fácil, mas alguém tem que fazê-lo (que seja o estagiário, de preferência máquina a máquina;-), pois ter um relatório completo do que existe de software e hardware na rede é essencial para manutenção e para planejamento de capacidade.

Ter um relatório em papel é impreciso e muito fácil de ficar obsoleto. Vamos utilizar o OCS Inventory para criar um inventário atualizado de nossas máquinas, independente do Sistema Operacional, sobre o hardware(incluindo alterações), software e configurações básicas de cada uma.

Utilizando um Ubuntu Server 10.04 como servidor de Inventário vamos instalar os seguintes pré-requisitos:
$ sudo apt-get install mysql-server mysql-client apache2 libapache2-mod-php5 libsoap-lite-perl

Faça a instalação e configure os pacotes como solicitado, forneça a senha do administrador (root) do MySQL.

Reinicie o Apache2 com:
$ sudo service apache2 restart

Instale o módulo XML::Entities de perl com os seguintes comandos:

$ sudo perl -MCPAN -e shell

Confirme com enter até chegar ao prompt do CPAN e instale o módulo com o seguinte comando:

CPAN>install XML::Entities

Ao finalizar a instalação digite quit

Instale o OCS Inventory com o seguinte comando:
$ sudo apt-get install ocsinventory-server

Preencha as informações como nas telas abaixo:

Confirme a senha do usuário do OCS:

Instalando OCS

Configure o DBConfig do SQL:

Instalandp OCS

Senha do Admin do MySQL:

Instalando OCS

Acesse pelo Browser o seguinte endereço para criar a base de dados do OCS:

http://127.0.0.1/ocsreports/install.php

Entre com o usuário do MySQL (root) e sua senha (senha da conta root do SQL, não da conta root do sistema)

Configurando OCS

Após a criação da base de dados, mostrando a tela abaixo clique em “Enviar dados

Configurando OCS

Acesse os relatórios do OCS clicado em “Click here to enter OCS-NG GUI

Configurando OCS

Entre com o usuário admin com a senha admin (é bom alterar a senha do usuário pelo painel de controle após logar ;-) )

Configurabdo OCS

Com o servidor configurado é hora de configurar os Agentes, em Distribuições Linux (baseadas em Debian) basta instalar o pacote ocsinventory-agent e preencher os dados como o endereço do servidor. Em ambiente Microsoft vamos baixar o agente do site do desenvolvedor e instalá-lo.

Baixe o agente de http://www.ocsinventory-ng.org/index.php?page=downloads com a versão correspondente ao OCS Server utilizado, descompacte o arquivo ZIP e instale no cliente (utilizando a conta de administrador), a parte importante de instalação é configurar o endereço do Servidor, como na imagem abaixo:

Configurando o Agente em Windows

Pronto, basta instalar e executar o OCS marcando a caixa Immediatly Launch Inventory (=/NOW) e o Agente já irá mandar informações para o Servidor.

Para consultar basta clicar no nome do cliente na lista de máquinas do Servidor e ver seu relatório.

selecionando o clientevisualizando o cliente

Basta clicar nos ícones para ver o relatório desejado, e quando houver mudanças de hardware o servidor será informado e fará as alterações no relatório. O programa é intuitivo e fácil de configurar pela interface, basta pesquisar um pouco.

Comandos do Linux para Iniciantes

Primeiros Contatos

Onde digitar os comandos, login e logout da shell, comandos de ajuda e referências.

  1. dmesg – Mensagens de inicialização
  2. id – Mostra o usuário atual
  3. man – Ajuda sobre algum comando, assunto ou arquivo de configuração
  4. info – Ajuda sobre algum comando, assunto ou arquivo de configuração

Comandos para Manipulação de Arquivos

Um tutorial sobre vários dos comandos necessários para lidar com arquivos e diretórios no Linux.

  1. pwd – Exibe o diretório atual
  2. cd – Navegando entre diretórios
  3. ls – Listar arquivos
  4. mkdir – Cria um diretório
  5. rmdir – Remove um diretório vazio
  6. cp – Cópia de arquivos e diretórios
  7. mv – Move ou renomeia arquivos e diretórios
  8. rm – Remove arquivos e diretórios
  9. find – Procura arquivos
  10. ln – Cria links entre arquivos
  11. cat – Exibe o conteúdo de um arquivo
  12. head, tail – Mostra o começo e fim de um arquivo
  13. file – Indica o tipo de arquivo
  14. touch – Muda timestamps

Compactação e Descompactação

Mostra os formatos básicos de arquivos compactados e como lidar com eles no Linux.

  1. tar – Agrupando arquivos
  2. gzip, bzip2 – Compactando arquivos
  3. zip, rar – Outros formatos de arquivos compactados

Comandos de Tratamento de Texto

Os comandos para tratar do conteúdo dos arquivos. Procurar, substituir, juntar, cortar…

  1. sort – Ordena um arquivo alfabeticamente
  2. uniq – Elimina linhas repetidas
  3. grep – Procura texto e expressões dentro de um arquivo
  4. paste – Combina arquivos em um só
  5. cut – Separa um arquivo por campos e imprime apenas partes especificadas
  6. tr – Transforma caracteres
  7. sed – Filtragem e Transformação de Conteúdo

Permissões

Além de mostrar como funcionam as permissões dos arquivos no Linux, ensina a utilizar os comandos que tratam das permissões.

  1. chown – Modifica os donos de arquivos e diretórios
  2. chmod – Modifica as permissões dos arquivos e diretórios
  3. umask – Visualiza e muda a máscara padrão de permissões

Processos

Como funciona a execução dos programas no Linux e como tratá-los.

  1. ps – Listar processos
  2. top – Lista processos em tempo real
  3. pstree – Mostra processos em forma de árvore hierárquica
  4. kill, killall – Envia um sinal ao processo (MATA!)

Comandos de Informações do Sistema

  1. date – Mostra a data e hora do sistema
  2. cal – Mostra um calendário amigável
  3. df – Mostra informações de espaço em disco
  4. du – Mostra espaço em disco usado por diretórios
  5. fdisk, sfdisk – Informações sobre partições
  6. hdparm – Informações detalhadas sobre HDs
  7. free – Informações sobre memória
  8. swapon – Informações sobre memória virtual (swap)
  9. cat /proc/cpuinfo – Informações sobre o processador
  10. uname – Informações de versão do kernel, arquitetura e outros
  11. lspci – Mostra informações sobre dispositivos PCI
  12. lsusb – Mostra informações sobre dispositivos USB

DPKG – Debian Package Manager

Como lidar com os pacotes de programas que encontramos por aí na Internet, ou nos CDs das distribuições Linux? Quais os processos para instalar, remover e atualizar programas que estão no formato DPKG?

  1. dpkg -i – Instala pacotes
  2. dpkg -r – Desinstala pacotes
  3. dpkg -l – Lista pacotes instalados
  4. dpkg -p – Mostra informações sobre um pacote
  5. dpkg -L – Lista os arquivos instalados de um pacote

RPM – RPM Package Manager

  1. rpm -i – Instala pacotes
  2. rpm -U – Atualiza pacotes
  3. rpm -e – Remove pacotes
  4. rpm -q – Consulta um pacote
  5. rpm -qa – Lista todos os pacotes instalados
  6. rpm -qi – Mostra informações sobre um pacote
  7. rpm -ql – Lista os arquivos instalados de um pacote
  8. rpm -V – Faz uma verificação de integridade em pacotes

Gerenciador de pacotes: apt

Utilizado em distribuições Debian, Ubuntu e seus derivados para instalar e remover programas.

  1. apt-get update – Atualiza a lista de pacotes dos repositórios
  2. apt-cache search – Procura um pacote por palavras
  3. apt-get install – Instala pacotes de programas
  4. apt-get remove – Remove pacotes de programas do sistema
  5. apt-get upgrade – Atualiza todos os pacotes do sistema
  6. apt-get dist-upgrade – Atualiza a versão da distribuição e todos seus pacotes
  7. apt-get moo – Invoca os poderes da vaca

Gerenciador de pacotes: yum

Utilizado em distribuições Fedora, Red Hat e seus derivados para instalar e remover programas.

  1. yum search – Procura um pacote por palavras
  2. yum install – Instala pacotes de programas
  3. yum remove – Remove pacotes de programas do sistema
  4. yum update – Atualiza os pacotes do sistema
  5. yum check-update – Verifica se há atualizações de pacotes disponíveis
  6. yum list – Lista todos os pacotes instalados e disponíveis no repositório
  7. yum list available – Lista os pacotes disponíveis para instalação
  8. yum grouplist – Lista os grupos de pacotes instalados e disponíveis no repositório
  9. yum groupinstall – Instala grupos de pacotes
  10. yum groupremove – Remove grupos de pacotes do sistema
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.