sexta-feira, 2 de novembro de 2007

Entenda o Linux Samba

SERVIDOR LINUX SAMBA

O Samba é um "software servidor" para Linux (e outros sistemas baseados em Unix) que permite o gerenciamento e compartilhamento de recursos em redes formadas por computadores com o Windows. Assim, é possível usar o Linux como servidor de arquivos, servidor de impressão, entre outros, como se a rede utilizasse servidores Windows (NT, 2000, XP, Server 2003).

História

O Samba é uma criação de Andrew Tridgell. O autor precisava montar um espaço em disco em seu PC para um servidor Unix. Esse PC rodava o sistema operacional DOS e, inicialmente, foi utilizado o sistema de arquivos NFS (Network File System) para o acesso. Porém, um aplicativo precisava de suporte ao protocolo NetBIOS (não suportado pelo NFS). A solução encontrada por Tridgell não foi tão simples: ele escreveu um sniffer (pequeno programa para captura de tráfego de dados em rede) que permitisse analisar o tráfego de dados gerado pelo protocolo NetBIOS, fez engenharia reversa no protocolo SMB (Server Message Block) e o implementou no Unix. Isso fez com que o servidor Unix aparecesse como um servidor de arquivos Windows em seu PC com DOS.

Através de contatos feitos por e-mail, Tridgell descobriu que as documentações dos protocolos SMB e NetBIOS estavam atualizadas e assim voltou a dedicar-se ao projeto. Porém, uma empresa entrou em contato com ele reivindicando os direitos sobre o nome usado no software até então. Diante disso, Andrew Tridgell teve a idéia de procurar em um dicionário uma palavra que tivesse as letras s, m e b (de SMB) e acabou encontrando o termo "samba". A partir daí o projeto Samba cresceu e hoje Andrew Tridgell conta com uma excelente equipe de programadores e com milhares de usuários de sua solução espalhados pelo mundo.

O que o Servidor Faz?

É possível compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede com igual ou maior eficiência que servidores baseados em sistemas operacionais da Microsoft. Mas, neste caso, o sistema operacional utilizado é o Linux.
O Samba é compatível com praticamente qualquer versão do Windows, como NT 4.0, 9x, Me, 2000, XP e Server 2003, além de máquinas com o Linux, é claro.
Todo trabalho feito pelo Samba é provido de grande segurança, uma vez que há grande rigor nos controles dos recursos oferecidos. Tanto é que existem empresas que usam o Samba como solução para conflitos existentes entre diferentes versões do Windows.
Como não poderia deixar de ser, o Samba também permite que sua configuração seja feita por meio de computadores remotos. Para os casos mais críticos, o administrador da rede pode até ser notificado de anormalidades por e-mail (para isso é necessário usar um script específico que busca informações nos arquivos de log e cria um arquivo que pode ser enviado via e-mail).

Características
  • Compartilhamento de arquivos entre máquinas Windows e Linux ou de máquinas Linux (sendo o servidor SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2, LanManager, etc).
  • Montar um servidor de compartilhamento de impressão no Linux que receberá a impressão de outras máquinas Windows da rede.
  • Controle de acesso aos recursos compartilhados no servidor através de diversos métodos (compartilhamento, usuário, domínio, servidor).
  • Controle de acesso leitura/gravação por compartilhamento.
  • Controle de acesso de leitura/gravação por usuário autenticado.
  • Possibilidade de definir contas de "Convidados", que podem se conectar sem fornecer senha.
  • Possibilidade de uso do banco de dados de senha do sistema (/etc/passwd), autenticação usando o arquivo de dados criptografados do samba, LDAP, PAM, etc.
  • Controle de cache e opções de tunning por compartilhamento.
  • Permite ocultar o conteúdo de determinados diretórios que não quer que sejam exibidos ao usuário de forma fácil.
  • Possui configuração bastante flexível com relação ao mapeamento de nomes DOS => UNIX e vice versa, página de código, acentuação, etc.
  • Permite o uso de aliases na rede para identificar uma máquina com outro nome e simular uma rede NetBIOS virtual.
  • O samba possibilita ajuste fino nas configurações de transmissão e recepção dos pacotes TCP/IP, como forma de garantir a melhor performance possível de acordo com suas instalações.
  • Permite o uso do gerenciador de mensagem do Linux (Linpopup) para a troca de mensagens com estações Windows via NetBios. Com a flexibilidade do samba é possível até redirecionar a mensagem recebida via e-mail ou pager.
  • Possui suporte completo a servidor WINS (também chamado de NBNS - NetBios Name Service) de rede. A configuração é bastante fácil.
  • Faz auditoria tanto dos acessos a pesquisa de nomes na rede como acesso a compartilhamentos. Entre os detalhes salvos estão a data de acesso, IP de origem, etc.
  • Suporte completo a controlador de domínio Windows (PDC).
  • Suporte quase completo a backup do controlador de domínio (BDC). Até a versão 2.2 do samba, o suporte a BDC é parcial. Este código provavelmente estará estável até a versão 3.0.
  • Permite montar unidades mapeadas de sistemas Windows ou outros servidores Linux como um diretório no Linux.
  • Permite a configuração de recursos simples através de programas de configuração gráficos, tanto via sistema, como via web.
  • Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao compartilhamento é finalizado.
  • Com um pouco de conhecimento e habilidade de administração de sistemas Linux, é possível criar ambientes de auditoria e monitoração até monitoração de acesso a compartilhamento em tempo real.

Instalando o Servidor Samba

apt-get install samba smbclient smbfsSe o pacote do Samba estiver no formato tar.gz basta digitar (depois de baixado):
# tar -zxvf samba-a.b.c.tar.gz (onde a, b e c correspondem ao número da versão)
Em seguida, basta entrar no diretório source e digitar:
./configure --prefix=/usr/local/samba
Por fim, digite:
# make# make install

Arquivo principal de Configuração

O arquivo smb.conf
Um fato que agrada muitos usuários do Samba é que sua configuração é feita em um único arquivo: o smb.conf. Esse arquivo geralmente fica localizado no diretório de instalação do Samba.
O arquivo é estruturado da seguinte maneira: os parâmetros de configuração são agrupados em seções. Cada seção é identificada por um nome entre colchetes.Abaixo segue exemplo:

[global] - como o nome indica, contém configurações que afetam todo o Samba. Por exemplo, nome do servidor;[homes] - contém as configurações do diretório home para cada usuário; [printers] - contém as configurações que controlam impressoras compartilhadas.
Abaixo um exemplo de configuração

1 [global]
2 # nome do servidor de arquivos
3 netbios name = teste..
4 # nome do grupo de trabalho ou do domínio
5 workgroup = teste
6 server string =Servidor Samba
7 security = user
8 [rede]
9 # diretório compartilhado
10 path = /iw/artigos
11 public = yes
12 browseable = yes
13 writable = no
Maiores duvida veja nesse mesmo blog no artigo configurando samba
Swat

O Samba pode ser configurado através de interfaces gráficas. Muitos administradores de rede consideram esse meio mais eficiente do que editar o arquivo smb.conf através de um editor de textos. O Swat é o meio mais usado para isso. Trata-se de uma ferramenta que permite a configuração do Samba através de navegadores de internet, facilitando, inclusive, o acesso remoto ao arquivo de configuração.
Para instalá-lo, você pode verificar se seu pacote de instalação está no CD de sua distribuição. Se tiver um sistema (baseado no) Debian, pode-se usar o seguinte comando para procurá-lo:
apt-cache search Swat

quarta-feira, 31 de outubro de 2007

Configurando Samba - Linux

Script de Configuração

[global]
domain logons = yes
interfaces = Seu endereço de IP
log level = 2
log file = /var/log/samba/%U.log
#logon drive = p:
#logon home = //server/public
netbios name = Servidor
comment = Servidor Samba
os level = 50
preferred master = no
domain master = no
security = user
socket options = TCP_NODELAY IPTOS_LOWDELAY
deadtime = 1
keepalive = 20
logon script = logon.bat
workgroup = SEU GRUPO DE TRABALHO
guest ok = yes
browse list = yes
encrypt passwords = yes
# username map=/etc/samba/usermap.conf
username map = /etc/samba/smbusers
# machine password timeout = 30
guest account = guest
[public]
path = /home/samba
guest ok = yes
browseable = yes
writeable = yes
printable = no
create mask = 0777
force create mode = 0777

[dados]
path = /home/sistema
guest ok = no
browseable = yes
read only = no
writeable = yes
create mask = 0756
force create mode = 0756

[netlogon]
path = /home/netlogon

O que é LINUX

O que é Linux


Linux é ao mesmo tempo um kernel (ou núcleo) e o sistema operacional que roda sobre ele, dependendo do contexto em que você encontrar a referência. O kernel Linux foi criado em 1991 por Linus Torvalds, então um estudante finlandês, e hoje é mantido por uma comunidade mundial de desenvolvedores (que inclui programadores individuais e empresas como a IBM, a HP e a Hitachi), coordenada pelo mesmo Linus, agora um desenvolvedor reconhecido mundialmente.





Linus Torvalds



O Linux adota a GPL, uma licença livre - o que significa, entre outras coisas, que todos os interessados podem usá-lo e redistribuí-lo. Aliado a diversos outros softwares livres, como o KDE, o GNOME, o Apache, o Firefox, os softwares do sistema GNU e o OpenOffice.org, o Linux pode formar um ambiente moderno, seguro e estável para desktops, servidores e sistemas embarcado.




O sistema funciona em diversas plataformas, mainframes até relógios de pulso, passando por várias arquiteturas: Intel, StrongARM, PowerPC, Alpha etc., com grande penetração também em dispositivos embarcados, como handhelds, PVR, vídeogames e centrais de entretenimento.






Linux ou GNU/Linux?



A Free Software Foundation advoga que o sistema operacional formado pelo núcleo Linux e o conjunto de utilitários e aplicativos que incluem aqueles desenvolvidos pelo seu projeto GNU deve ser chamado de GNU/Linux, e não simplesmente de Linux. A questão tem sido objeto de intensos debates há anos, sem que um posicionamento geral e definitivo seja alcançado.
Naturalmente a posição da FSF não é a única existente. São conhecidas as declarações de Linus Torvalds (que acharia interessante a existência de uma distribuição chamada GNU Linux e mantida pelo projeto GNU), de Eric Raymond e de John Dvorak, entre outros. Há ainda uma interessante citação da própria FSF afirmando que um nome como GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv seria absurdo, portanto é necessário estabelecer um limite. Mas, diz ela, "Não pode ser justo dar todo o crédito para uma contribuição secundária (Linux) enquanto se omite a contribuição principal (GNU)." Outra citação digna de nota vem de um editorial do veterano Linux Journal: "Talvez Richard Stallman esteja frustrado porque Linus recebeu as glórias por ter feito aquilo que Stallman pretendia fazer."
Tux, o logo e mascote do Linux

Hoje o Linux é um kernel híbrido monolítico. Drivers de dispositivo e extensões do kernel tipicamente rodam com acesso total ao hardware, embora alguns rodem em espaço de usuário. Ao contrário dos kernels monolíticos padrão, os drivers de dispositivo são facilmente configurados como módulos, e carregados e descarregados enquanto o sistema está rodando. Também ao contrário de kernels monolíticos padrão, drivers de dispositivo podem ser pré-inseridos sob certas condições. Essa última característica foi adicionada para corrigir o acesso a interrupções de hardware, e para melhorar o suporte a multiprocessamento simétrico.
Embora Linus Torvalds não tenha tido como objetivo inicial tornar o Linux um sistema portável, ele evoluiu nessa direção. Linux é hoje, na verdade, um dos kernels de sistema operacional mais portados, rodando em sistemas desde o iPaq (um computador portátil) até o IBM S/390 (um volumoso e altamente custoso mainframe), passando por várias arquiteturas: Intel, StrongARM, PowerPC, Alpha etc., com grande penetração também em dispositivos embarcados, como handhelds, PVR, vídeogames e centrais de entretenimento.
De qualquer modo, é importante notar que os esforços de Linus foram também dirigidos a um outro tipo de portabilidade. Portabilidade, de acordo com Linus, era a habilidade de facilmente compilar aplicativos de uma variedade de origens no seu sistema; portanto o Linux originalmente se tornou popular em parte devido ao esforço para que fosse fácil fazer com que códigos de aplicativos disponíveis para outros sistemas (inclusive no Unix e no sistema GNU) rodassem no Linux.
Hoje, Linus Torvalds continua a dirigir o desenvolvimento do kernel, enquanto outros subsistemas (como ferramentas de desenvolvimento, ambientes gráficos e aplicativos) são desenvolvidos independentemente. A tarefa de integrar todos estes componentes para formar um sistema completo é desempenhada pelas empresas e organizações que mantêm distribuições de Linux.
O sistema operacional Linux (ou GNU/Linux)
(inclui trechos da Wikipédia)

Logo que Linus Torvalds passou a disponibilizar o Linux, ele apenas disponibilizava o kernel (núcleo) de sua autoria juntamente com alguns utilitários básicos. O próprio usuário devia encontrar os outros programas, compilá-los e configurá-los e, talvez por isso, o Linux tenha começado a ter a fama de sistema operacional apenas para técnicos. Foi neste ambiente que surgiu a MCC (Manchester Computer Centre), a primeira distribuição Linux, feita pela Universidade de Manchester, na tentativa de poupar algum esforço na instalação do Linux.

Hoje em dia, um sistema operacional Linux completo (ou uma "distribuição de Linux") é uma coleção de softwares (livres ou não) criados por indivíduos, grupos e organizações ao redor do mundo, tendo o Linux como seu núcleo. Companhias como a Red Hat, a Novell/SUSE, a Mandriva (união da Mandrake com a Conectiva), bem como projetos de comunidades como o Debian, o Ubuntu, o Gentoo e o Slackware, compilam o software e fornecem um sistema completo, pronto para instalação e uso.

As distribuições de GNU/Linux começaram a ter maior popularidade a partir da segunda metade da década de 1990, como uma alternativa livre para os sistemas operacionais Microsoft Windows e Mac OS, principalmente por parte de pessoas acostumadas com o Unix na escola e no trabalho. O sistema tornou-se popular no mercado de servidores, principalmente para a Web e servidores de bancos de dados, inclusive no ambiente corporativo - onde também começou a ser adotado em desktops especializados.

No decorrer do tempo várias distribuições surgiram e desapareceram, cada qual com sua característica. Algumas distribuições são maiores outras menores, dependendo do número de aplicativos e sua finalidade. Algumas distribuições de tamanhos menores cabem em um disquete com 1,44 MB, outras precisam de vários CDs, existem até algumas que tem versões em DVD. Cada uma tem seu público e sua finalidade.
Download ou aquisição do Linux

Embora provavelmente a forma mais fácil de obter o Linux seja através dos CDs distribuídos como brinde em diversas revistas nacionais (escolha sempre uma versão recente!), o jeito mais fácil de obter sua cópia sem desembolsar nada a mais é através do download de imagens ISO, que são arquivos (geralmente por volta de 650MB cada um) trazendo o conteúdo completo de um CD-ROM, prontos para serem gravados em um CD, permitindo assim que você obtenha cópias idênticas de um CD original. Verifique na ajuda do seu programa favorito de gravação de CDs como fazer para gravar a partir de uma imagem ISO - quase todos os programas populares dispõem deste recurso, e a operação em geral é simples.
Algumas distribuições (como o Knoppix e o brasileiro Kurumin) são especialmente disponibilizadas na forma de Live CDs, capazes de rodar diretamente do CD e dispensando instalação no disco de seu computador - é uma boa forma de ter seu primeiro contato.
Como o Linux é um software livre, a maior parte dos produtores disponibiliza imagens ISO contendo exatamente o mesmo conteúdo dos CDs vendidos em lojas ou na Internet, e você pode fazer o que quiser com elas - até mesmo gravar em CDs para revendê-las (e se você quiser comprar CDs deste tipo, lojas virtuais brasileiras como a Tempo Real e a LinuxMall estão à disposição). Quando se trata de Linux, este tipo de cópia e revenda não é irregular nem anti-ético, pois é da essência do software livre.
Você pode procurar suas imagens ISO no site de sua distribuição preferida - às vezes será necessário fazer o download de mais do que uma imagem, e em outros casos o download da primeira imagem é obrigatório, e o das outras é opcional. Raras são as distribuições que não disponibilizam imagens ISO de instalação.
Se preferir, procure no site linuxiso.org, cuja especialidade é apontar links para imagens ISO dos CDs das distribuições de Linux do mundo todo.
Como se trata de um download grande (uma distribuição em 3 CDs corresponde a quase 2GB de dados), certifique-se de ter espaço suficiente no seu HD, e utilize um bom gerenciador de download.