Sei sulla pagina 1di 23

Manual de Configurao do SAMBA

Manual de Configurao do SAMBA Por: Victor Zucarino / Atualizao 7.0a - Agosto de 2002 Tel: 219765-5230 vffzbr@yahoo.com.br

------------------------------------------------------------------Manual de Configurao do SAMBA Por: Victor Zucarino / Atualizao 7.0a - Agosto de 2002 Tel: 219765-5230 vffzbr@yahoo.com.br ------------------------------------------------------------------Introduo Instalao Configurao Conhecendo os Parmetros Seo [global] Seo [homes] Demais Sees Testando o Samba Acessando Servidores atravs de Estaes Linux smbd nmbd smbclient smbmount smbumount smbpasswd smbprint smbstatus testparm testprns Adicionando o SAMBA a um Domnio Windows NT/2000 Adicionando estaes NT Workstation e 2000 ao Domnio SAMBA Como migrar senhas do Domnio NT para o SAMBA Exemplo de Login Script para estaes Windows Configurando o SAMBA Remotamente Configurando uma Lixe ira (Recycle Bin) no Servidor Samba Script Para Limpar a Lixeira Automaticamente Consideraes Agradecimentos e crditos

Introduo
-----------------------------------------------------------------------------------------------Antes de comear vamos entender o que o Samba. Em uma rede necessrio compartilhar dados, por isso temos que pensar em obter o mximo em qualidade do Sistema / Aplicao que ser o responsvel por esta tarefa. Com o SAMBA possvel compartilhar diretrios, impressoras, acessar arquivos na rede exatamente como em redes Microsoft. Mas neste caso, seu servidor um Linux rodando uma aplicao especfica. O Windows NT e o 2000 (assim como o NetWare 5 e outros presentes no mercado) so reconhecidos mundialmente por sua segurana e escalabilidade, mas o SAMBA possui muitas vantagens que podem se transformar em solues e economia para sua empresa. Confira: Permite compatibilidade com estaes Windows (de WfW a 2000) e servidores WinNT 4.0 e 2000. Entre servidores e estaes Linux (com Interface Grfica por exemplo) a compatibilidade total. O SAMBA 100% configurvel, com a grande vantagem de centralizar esta configurao em um nico arquivo, o smb.conf. Sem dvida muito interessante ter a possibilidade de restaurar toda a configurao que disponibiliza seu Servidor de Arquivos (inclusive as permisses de acesso) atravs do backup de apenas 1 arquivo, em casos de desastre. Porm

isso no quer dizer que no seja necessrio o backup de outros arquivos de configurao... :) Todo o SAMBA pode ser configurado remotamente atravs de acesso seguro, alm do recebimento por email de informaes do estado do servidor (bastando utilizar um script especfico que busca informaes nos arquivos de log e cria um arquivo que pode ser enviado por email). Em se falando de economia no h o que discutir: o Linux e o SAMBA esto disponveis para download na Internet sem nus algum para qualquer usurio comum ou empresa que se interesse em utiliz-lo, sem custos com licenas ou atualizaes. - As mais recentes distribuies j trazem o SAMBA como padro, mas seu download e atualizaes esto disponveis em: http://us4.samba.org/samba/download.html O suporte est disponvel 24h por dia, o ano todo: alm do prprio site do SAMBA existem milhares de sites e listas de discusso dedicadas ao assunto, entre outras documentaes e artigos em sites de renome por Administradores e Engenheiros de Redes Linux. Muita coisa j est em nosso idioma facilitando os iniciantes e interessados em leitura. Muitos sites nacionais so especializados em Linux e Segurana para Linux. Se a sua empresa busca uma soluo estvel e segura para Servidor de Arquivos da rede, o SAMBA uma grande opo.

Instalao
-----------------------------------------------------------------------------------------------Se a distribuio que deseja utilizar j traz o SAMBA (como a Conectiva, RedHat, Mandrake, Debian, TechLinux, Suse, praticamente todas hoje em dia!), a instalao no necessria. Se deseja atualiz-lo ou iniciar a instalao, siga os passos abaixo. Para instalar o SAMBA necessrio antes saber se o pacote obtido est no formato RPM ou .tar (.tgz ou .tar.gz). Se o pacote for um RPM, execute o comando abaixo: #rpm -ivh samba-2.2.x-i386.rpm Atualmente grande parte das distribuies instalam o conjunto de pacotes samba-common, samba-client e samba-doc juntamente com o pacote samba, criando uma dependncia entre estes pacotes. Substitua o "x" pelo nmero relativo a verso do pacote ou o nome correto do pacote dependendo da sua distribuio. Para atualizar o SAMBA atual, substitua a sintaxe -ivh por Uvh. Se o pacote veio no formato tar.gz, execute o comando abaixo: #tar -zxvf samba-2.2.x-i386.tar.gz Um diretrio ser criado com o nome samba-2.0.x. Entre neste diretrio e em seguida no subdiretrio source. Para iniciar a instalao digite: #./configure Em seguida digite: #make Os binrios do SAMBA sero criados. Quando terminar digite:

#make install Agora os binrios e pginas do man sero instalados. Aguarde o processo e quando terminar confira o diretrio /usr/doc/samba-2.2.x/docs para informaes sobre o SAMBA.

Configurao
-----------------------------------------------------------------------------------------------Toda a configurao do SAMBA centralizada no arquivo smb.conf, que deve ser guardado no diretrio /etc. OBS1: A partir da verso 7 do RedHat, o arquivo smb.conf foi "movido", devendo ser guardado no diretrio: /etc/samba. OBS2: Quando instalamos o Samba a partir do source (.tar.gz), o arquivo smb.conf guardado por padro no diretrio /usr/local/samba/var. Nele que so descritos os compartilhamentos, permisses de acesso, impressoras, dentre outras configuraes disponveis. Quando instalado, o SAMBA disponibiliza os seguintes componentes: smbd snmbd smbclient smbmount smbumount smbpasswd smbprint smbstatus testparm testprns O servidor SAMBA. O Servidor de nomes NetBios Cliente SMB para sistemas Unix. Monta compartilhamentos da rede localmente. Desmonta diretrios montados via Samba. Alterar senhas (encriptadas) de usurios smb. Cliente para envio de impresso a sistemas Linux. Apresenta a situao atual das conexes SMB no Host. Verifica o arquivo smb.conf (configurao do SAMBA). Verifica a comunicao via rede com as impressoras.

O smb.conf dividido basicamente em trs partes: a configurao do servidor SAMBA (parmetros na seo [global], [printers] e [netlogon]), a configurao dos diretrios/pastas pessoais dos usurios (parmetros na seo [homes]) e as demais sees que correspondem aos diretrios compartilhados. Cada seo representada entre colchetes [seo], e os parmetros so seguidos do sinal de igual (=) e o valor ou termo correspondente. Confira abaixo um exemplo do smb.conf para um servidor Samba como PDC da rede: [global] comment = Servidor SAMBA workgroup = EMPRESA security = user os level = 100 announce as = NT Server domain logons = yes logon script = %U.bat logon path = //%L/Profiles/%U domain master = yes local master = yes preferred master = yes guest account = nobody encrypt passwords = yes # wins server = 192.168.0.2

wins support = yes keep alive = 20 debug level = 3 winpopup command = /bin/csh -c 'xedit %s; rm %s' & log file = /var/log/samba_log.%u null passwords = no unix password sync = yes socket options = IPTOS_LOWDELAY TCP_NODELAY printing = bsd printcap name = /etc/printcap load printers = yes hosts allow = 192.168.0. 127. hosts deny = 192.168.0.3 192.168.0.4 [homes] comment = Pastas dos Usuarios public = no browseable = yes writeable = yes hosts deny = 192.168.0.250 [printers] comment = Impressoras Linux public = no browseable = yes printable = yes read only = yes create mode = 0700 path = /var/spool/samba admin users = admin, usuario1 [netlogon] comment = Compartilhamento de Scripts path = /etc/scripts public = no browseable = yes writeable = no [diretoria] comment = Grupo Diretoria path = /home/diretoria public = no browseable = yes valid users = @diretoria writeable = yes write list = @diretoria force create mode = 0777 force directory mode = 0777 [comercial] comment = Grupo Comercial path = /home/comercial public = yes browseable = yes writeable = yes write list = @comercial read list = @marketing

force create mode = 0777 force directory mode = 0777 [transf] comment = Area de Transferencia path = /home/transf public = yes browseable = yes writeable = yes write list = @todos force create mode = 0777 force directory mode = 0775 max disk size = 200 [oculto$] comment = Especifico do Admin path = /home/admin/oculto copy = homes max connections = 1

Conhecendo os parmetros
------------------------------------------------------------------------------------------------

Seo [global]
Define as configuraes globais do SAMBA. A relao abaixo apresenta a explicao dos parmetros do exemplo: comment Comentrio para este Host na Rede. workgroup Especifica o Domnio ou Workgroup a que o Host pertence na Rede. security Por padro o SAMBA utiliza a segurana a nvel de usurio (security = user), com opes: security = share - Senhas de acesso sero solicitadas por cada recurso compartilhado e no por usurio, ou seja, cada diretrio ou impressora poder ter uma senha nica conhecida pelos usurios autorizados. Esta opo geralmente usada p/ estaes de trabalho Linux, onde em diversos casos simplifica o acesso a dados locais quando necessrio. security = user - As permisses so dadas de acordo com o login do usurio, ou atravs dos grupos (@grupo). security = server - O SAMBA tentar validar a senha do usurio enviando os dados para outro servidor SMB, como outro servidor SAMBA ou um servidor Windows. Deve-se incluir o parmetro password server = x.x.x.x na seo [global] do smb.conf. security = domain - Usado se o Host for adicionado a um Domnio Windows atravs do comando smbpasswd. Neste caso as informaes de usurio e senha sero enviadas para o PDC da rede, exatamente como o servidor NT faria. Note que necessrio que a conta do usurio exista tanto no Linux quanto no servidor primrio (mais adiante isso ser explicado de forma detalhada).

os level Este parmetro no obrigatrio se voc no possui um servidor Linux ou Windows na rede, mas deve ser usado caso tenha um ou mais. A varivel um nmero de 1 a 255, onde 65 a mesma varivel utilizada pelo servidor Windows. Especifique um nmero maior que este (como 100 por exemplo) para garantir que o servidor SAMBA seja eleito na escolha de validao do login das estaes. announce as Permite especificar o tipo de servidor NetBios (nmbd) que ser divulgado na rede. As opes aceitas pelo SAMBA: "NT Server", "NT Workstation", "Win95" ou "WfW". domain logons Usado para validar o login na rede, apenas para estaes Windows. logon script Indica qual arquivo de logon script ser executado para os usurios. A varivel %u corresponde ao usurio na rede. Deve tambm ser criado um compartilhamento de nome [netlogon] apontando para o diretrio dos scripts. logon path Indica o caminho do perfil remoto do usurio. A varivel % L corresponde ao nome do servidor NetBios (que pode ser o prprio SAMBA). O logon path til quando usurios costumam efetuar logon em mais de um Host na rede, pois seu perfil trazido com o logon. No caso do exemplo, o diretrio "Profiles" deve conter os scripts (em formato Microsoft usando NET USE e etc) e os scripts devem ser criados com o notepad do Windows por exemplo, a fim de conservar o formato do arquivo. domain master Indica se o Host ser o Domain Master Browser da rede inteira (WAN). local master Indica se o Host ser o Master Browser da rede local.

preferred master Este parmetro fora a eleio do SAMBA como Master Browser para o workgroup. recomendvel utilizar este parmetro em conjunto com o "domain master = yes" para garantir a eleio. Mas tome cuidado: se voc possui uma rede com servidores Windows e SAMBA e j possui um servidor como Domain Master, no use esta opo e deixe o parmetro "os level = 65" para haver equilbrio. guest account O SAMBA trabalha melhor em redes Microsoft com a existncia de uma conta guest (visitante em ingls). Por padro a conta usada nobody (a mesma utilizada pelo Apache). wins server Indica qual o servidor de Wins da rede. Se o prprio Host for o servidor de Wins ento no utilize este parmetro, pois haver um loop e o sistema travar! wins support Permite ao SAMBA ser o servidor de Wins na rede. Isto significa que o SAMBA ter uma tabela com o ambiente completo da rede, garantindo que as estaes tenham acesso a estas informaes e ganho em velocidade para encontrar e acessar os compartilhamentos e impressoras. O Wins Server deve ser especificado na configurao de rede (TCP/IP) das estaes, indicando o endereo IP do servidor. keep alive

Como mquinas rodando Windows tendem a travar com o passar do tempo, este parmetro usado para verificar o estado da conexo, evitando trfego desnecessrio na rede. Tambm pode ser usado para estaes Linux. debug level Parmetro usado para dar flexibilidade a configurao do sistema. Permite ao SAMBA trabalhar corretamente com algumas situaes de erro, por exemplo. winpopup command Especifica qual comando ser executado quando o servidor receber mensagens Winpopup. Aqui, muitas opes podem ser usadas de acordo com a preferncia do Administrador. Se sua rede utiliza mensagens deste tipo, interessante definir um comando para o parmetro, evitando assim possveis mensagens de erro para quem enviou a mensagem ao servidor. log file Indica o arquivo de log do SAMBA. A varivel %u corresponde ao nome de logon do usurio. O samba por padro gera arquivos de log em /var/log/samba que indicam por exemplo os horrios de logon dos usurios, quem acessou determinado arquivo, etc. Esteja atento para estas informaes para consultas quando necessrio. null passwords Indica se ser ou no possvel que usurios tenham senha nula de logon (logon sem senha). unix password sync Se este parmetro for ativado (= yes) ento clientes SMB (como estaes Windows) podero trocar sua senha de login. socket options Este parmetro permite configuraes extras para o protocolo, possibilitando uma melhor performance do servidor em lidar com os pacotes na rede. printing Indica qual o sistema de impresso padro utilizado pelo Linux. printcap name Indica o arquivo para busca das definies das impressoras. load printers Disponibiliza as impressoras para a rede. hosts allow Indica quais mquinas tem acesso ao servidor SAMBA. Pode-se utilizar o endereo IP ou o nome da mquina. Para garantir acesso a toda uma rede por exemplo, escreva: "hosts allow = 192.168.1.". Este parmetro deve ser usado preferencialmente nas demais sees, mas tambm pode ser usado na seo Global. hosts deny Como em "hosts allow", mas para restringir o acesso ao servidor SAMBA.

Seo [homes]
Define os parmetros para as pastas pessoais dos usurios na rede (home dir):

comment Comentrio para este compartilhamento. public Tambm conhecido como "guest ok", permite ou no acesso de outros usurios. browseable Define se o compartilhamento ser ou no visvel para o Ambiente de Rede. Estaes Windows95 verso 4.00.950-C no aceitam esta opo, onde uma possvel soluo utilizar o nome do compartilhamento seguido de $ (teste$ por exemplo), como faz-se no Windows. writeable Indica se o usurio poder ou no escrever em sua pasta pessoal (home dir).

Demais Sees [shares]


Correspondem aos compartilhamentos presentes na rede. Os parmetros abaixo so apenas alguns dos possveis que podem ser utilizados: comment Comentrio para o compartilhamento. path Caminho do diretrio compartilhado. valid users Este parmetro usado p ara destacar quem ter acesso ao compartilhamento na rede. importante destacar que estaes Win95/98/Me tm diferenas entre si que em muitas situaes representam um problema para acesso e segurana. Acontece algumas vezes de voc definir o "write list" e o "read list" corretamente mas mesmo assim usurios do "read list" conseguem escrever no compartilhamento (!). Para resolver este problema, inclua o "valid users" indicando os usurios que tm acesso e em seguida inclua o "write list" e o "read list" conforme sua necessidade. writeable Indica se ser ou no possvel criar ou excluir arquivos ou diretrios do compartilhamento. public / guest ok Indica se ser ou no permitido o acesso de outros usurios. browseable Define se o compartilhamento ser ou no visvel para o Ambiente de Rede do Windows (apresentado na rede). write list Define os usurios e/ou grupos com acesso de escrita no compartilhamento. Para mais de um usurio, separe os nomes por vrgula (user1, user2, etc) e para grupos utilize @ antes do nome do grupo. read list Como em write list, mas define quem ter permisso de apenas leitura. force create mode

Diz ao SAMBA para forar o tipo de permisso dos arquivos criados (o mesmo que usar o chmod). Esta permisso tem menor prioridade que os parmetros write list e read list. force directory mode O mesmo que force create mode, mas para os diretrios criados no compartilhamento. admin users Indica quais so os usurios com permisso completa para o compartilhamento (permisso de root). copy Permite copiar os parmetros de outra seo, como um template por exemplo, til se utiliza compartilhamentos semelhantes. Para alterar parmetros basta inform-los na seo atual. hosts allow Indica quais mquinas podem acessar o compartilhamento. Pode-se utilizar o endereo IP ou o nome da mquina. Para garantir acesso a toda uma rede classe C por exemplo, escreva: "hosts allow = 192.168.1.". hosts deny Como em "hosts allow", mas para restringir o acesso ao compartilhamento. max connections Permite especificar o nmero mximo de conexes simultneas ao compartilhamento. max disk size Permite especificar qual o limite de espao em disco que o compartilhamento pode utilizar. Este valor definido em Mb (megabytes). Abaixo temos variveis que podem ser usadas em parmetros: %S Nome do Servio (compartilhamento) atual. %u Nome do usurio. %g Nome do grupo. %H Nome do diretrio pessoal do usurio (home dir). %m Nome da mquina cliente fornecido pelo NetBios. %L Nome do servidor NetBios, permitindo que a configurao desejada seja alterada de acordo com o cliente que vai acessar o sistema. %M Nome Internet da mquina cliente. %a Sistema Operacional da mquina remota, onde os reconhecidos so WfW, Win95, Win2000. %I O endereo IP da mquina cliente. %T Data e horrio.

Testando o SAMBA
-----------------------------------------------------------------------------------------------Agora que o smb.conf est configurado faa um teste para saber se est tudo certo, com o comando testparm: # testparm > teste_config_samba <enter novamente> Ser criado o arquivo teste_config_samba. Confira este arquivo e caso exista alguma mensagem de erro (ERROR...) volte a corrija o problema.

Acertadas as configuraes, deve-se ativar o SAMBA: #/etc/rc.d/init.d/smb start Se quiser conferir se o SAMBA est realmente no ar, execute o comando acima mas substitua o "start" por "status". Para que o SAMBA seja iniciado sempre aps a inicializao do servidor, execute o ntsysv e marque o SMB. Se preferir, voc tambm pode escrever a linha de "start" do smb no arquivo /etc/rc.d/rc.local, da seguinte forma: 1)D um vi no rc.local (#vi /etc/rc.d/rc.local ). 2)Tecle "i" para editar e v at o final do arquivo (Page Down). 3)Escreva a seguinte linha: /etc/rc.d/init.d/./smb start 4)Tecle "Esc" e em seguida ":" e depois "wq" para sair. A partir de agora, sempre que o computador for reiniciado o SAMBA ser ativado automaticamente. Em uma estao Linux, necessrio dar um "start" exatamente como no servidor, onde o smbclient deve ser utilizado para acessar os compartilhamentos disponveis no servidor. Ainda na estao Linux, necessrio que cada uma contenha um smb.conf se diretrios locais precisarem ser compartilhados. Estaes Windows devem estar com o TCP/IP configurado corretamente (IP, Mscara de SubRede, Wins se existir, etc).

Acessando Servidores atravs de Estaes Linux


------------------------------------------------------------------------------------------------

smbclient
Da mesma forma que o SAMBA permite que o Linux atue como servidor para estaes Linux e redes Microsoft, ele tambm permite atuar como estao de trabalho para acessar servidores de ambos sistemas, sem que nenhuma configurao seja necessria no servidor. Com o smbclient possvel acessar dados em um servidor Windows (lembra o comando net, mas a sintaxe utilizada similar aos de FTP). Ele pode ser usado para receber e enviar arquivos, listar diretrios, navegar pelos diretrios, renomear e apagar arquivos, entre outros. Diretrios compartilhados por um servidor SAMBA so acessados da mesma forma. Para verificar quais compartilhamentos esto disponveis em um determinado Host, execute: $smbclient -L host_desejado A resposta ser uma lista de servios, ou seja, nomes de dispositivos ou im pressoras que podem ser compartilhados com os usurios na rede. A menos que o servidor SMB no tenha itens de segurana configurados, ser solicitada uma senha antes de mostrar as informaes. Exemplo: smbclient -L servidor1 A resposta ser semelhante a: Server time is Fri Dec 22 15:58:02 2000 Timezone is UTC+10.0

Password: Domain=[EMPRESA] OS=[Windows NT 4.0] Server=[NT LAN Manager 4.0] Server=[servidor1] User=[] Workgroup=[EMPRESA] Domain=[] Sharename Type Comment ADMIN$ Disk Remote Administration Public Disk Public C$Disk Default Share Print$ Disk Printer Control Para acessar uma pasta compartilhada, basta especificar o caminho na rede, conforme abaixo: $smbclient //maquina/pasta1 senha <enter>

smbmount
A aplicao smbmount vem inclusa no pacote do SAMBA (samba-client) com a funo de possibilitar a montagem de um compartilhamento de outra mquina localmente. Em verses anteriores (srie 2.0.x) o smbmount possuia alguns bugs onde o uso do comando mount era mais indicado. Abaixo est um exemplo: mount -t smbfs -o username=usuario,password=senha //estacao/pasta /local O diretrio /local deve ser criado antecipadamente. Vale a pena escrever uma linha no /etc/fstab para facilitar o processo. Com o smbmount a mesma operao acima ficaria: smbmount //estacao/pasta /local -o username=usuario,password=senha Para estaes Win9x/Me, onde o nome do usurio no informado, utilize apenas o parmetro "-o password=senha". Caso o compartilhamento no utilize senha, utilize "-o password=".

smbumount
Utilizado para desmontar os diretrios montados atravs do smbmount. Em alguns casos o comando mount tambm pode ser usado.

smbtar
Tambm possvel fazer backup (cpias de segurana) para o formato .tar de arquivos que esto em compartilhamentos na rede. Esta operao muito til para garantir backup de

arquivos em estaes com pastas compartilhadas mas que no pertencem ao Domnio da rede (por exemplo) ou em estaes isoladas da rede. O comando utilizado o smbtar: $smbtar -s HOST -p SENHA -x COMPARTILHAMENTO -d PASTA -t FITA (.tar) Como exemplo vamos criar um arquivo chamado vacina.tar que ser o backup de //servidor1/vacinas/vacina.exe sem senha para acesso: $smbtar -s servidor1 -x vacinas -d vacina.exe -t vacina.tar Para conferir se o arquivo foi criado corretamente, digite: $tar -tvf vacina.tar Se o empacotamento teve sucesso, voc ver o nome original do arquivo e seu tamanho. Para que o backup seja guardado em fita deve-se mudar a sintaxe do comando, substituindo o nome do arquivo pela unidade de fita instalada (geralmente /dev/st0).

smbpasswd
O SAMBA permite tambm que as estaes troquem suas senhas de logon, utilizando o smbpasswd. Ele age de forma similar ao comando passwd, mas as senhas so armazenadas no arquivo smbpasswd. possvel ainda alterar a senha dos usurios em um servidor Primrio de um Domnio NT (PDC). Utilizado pelo superusurio, ele permite que contas sejam adicionados ou removidos e atributos sejam alterados. Mantenha o "localhost" especificado no parmetro "allow hosts" para seu perfeito funcionamento. O smbpasswd um arquivo em formato ASCII e contm o nome do usurio, identificao junto ao Linux, a senha encriptada, o indicador de como est a conta e a data de ltima alterao da senha do usurio. Vale destacar que o smbpasswd somente til quando o SAMBA est configurado para utilizar senhas criptografadas (veja detalhes em Consideraes).

smbstatus
Para saber a situao atual das conexes SAMBA, utilizamos o smbstatus: $smbstatus -b Lista o PID, usurio, nome da estao e data de acesso de quem est neste momento conectado no servidor. $smbstatus -p Lista os processos smbd e finaliza em seguida. til quando utilizado em programas. $smbstatus - S Lista todos os compartilhamentos definnidos.

$smbstatus -s Permite utilizar outro arquivo de configurao ( smb.conf2 por exemplo), que deve ser especificado aps a opo. $smbstatus -u Lista as informaes rellevantes sobre o usurio, que deve ser especificado aps a opo.

testparm
L o arquivo smb.conf e apresenta possveis mensagens de erro. Execute-o aps configurar seu Samba para ter certeza de que todos os parmetros esto corretos.

testprns
O testprns verifica o nome da impressora junto ao smbd, a fim de determinar se h um nome vlido (entrada encontrada em printcap para a impressora) sendo informado para uso pelo servio de impresso. Pode ser ativado da seguinte forma: #testprns <nome_da_impressora> <nome_do_arquivo_printcap> Encontrada uma impressora vlida, a mensagem "Valid Printer" (ou outra semelhante, dependendo da distribuio utilizada) ser apresentada. O arquivo /etc/printcap define as impressoras.

Adicionando o SAMBA a um Domnio Windows NT/2000


-----------------------------------------------------------------------------------------------Se sua rede j possui um servidor PDC (WindowsNT) e voc deseja adicionar um servidor SAMBA, necessrio antes de tudo configurar o SAMBA: no utilizar o parmetro "domain master" e "domain logons" (conforme o caso) e tambm manter o parmetro "os level" inferior a 65. O nome NetBios do servidor SAMBA deve tambm ser adicionado ao PDC do Domnio NT (atravs do Gerenciador de Servidores para Domnios). Assim, uma conta ser criada para o SAMBA no PDC. Como exemplo, vamos citar um servidor SAMBA como o nome NetBios "Samba" e o Domnio chamado "EMPRESA". O PDC ter o nome "File_Server" e existem tambm 2 controladores de backup com os nomes "Backup1" e "Backup2". Para juntar-se ao Domnio, o servidor SAMBA deve executar o comando abaixo: #smbpasswd -j EMPRESA - r File_Server Se o comando foi bem sucedido, aparecer a mensagem: #smbpasswd: Joined domain EMPRESA

Se algo deu errado, confira o nome NetBios dos servidores, se o SAMBA est ativado, os parmetros do smb.conf e tente novamente. O comando acima ativa o protocolo de mudana de senhas, gerando um nova conta aleatria para o servidor SAMBA, normalmente guardada em: /usr/local/samba/private. O nome do arquivo ser semelhante a: EMPRESA.Samba.mac Em seguida, edite o smb.conf e inclua os seguintes parmetros na seo [global]: security = domain #Pois agora o SAMBA pertence a um Domnio existente. workgroup = EMPRESA #Este o Domnio utilizado. encrypt passwords = yes #Para logon encriptado. password server = File_Server Backup1 Backup2 #Autenticao no domnio. Reinicialize o SAMBA para validar as mudanas.

Adicionando estaes NT Workstation e 2000 ao Domnio SAMBA


-----------------------------------------------------------------------------------------------Se voc possui um PDC SAMBA e estaes Windows NT Workstation ou W2k (Windows 2000), deve seguir o modelo abaixo para criar contas especficas para estas estaes. Importante: s possvel adicionar estaes NT Workstations e 2000 a um Domnio SAMBA se a encriptao de login estiver habilitada. Aps o Service Pack 3 este padro foi adotado p/ o NT, sendo no SAMBA necessrio especificar o parmetro encrypt passwords = yes. Em primeiro lugar, crie o arquivo smbpasswd (se ele no existir) conforme abaixo e de a permisso apropriada: #touch /usr/local/samba/private/smbpasswd #chmod go-rwx /usr/local/samba/private/smbpasswd interessante destacar que dependendo da distribuio este arquivo pode estar no diretrio /etc como link (ou no) para seu diretrio original, guardando muitas vezes a configurao sem nada escrever em /usr/local/samba/private/smbpasswd. Confira a localizao correta do arquivo e s ento siga em frente. Agora adicione a conta NT/2000, seguindo os comandos abaixo. Perceba que o $ foi adicionado ao final do nome (no sendo na verdade necessrio para as verses do SAMBA a partir da 2.0.7). Importante: quem utiliza FreeBSD, no deve adicionar o $ no final do nome da conta pois o adduser deste sistema no aceita tal caracter. Utilize o vipw ou outro similar para adicionar manualmente no arquivo /etc/passwd. #adduser -g estacoes -c apelido_estacao1 -m -s /bin/false nome_estacao1$ No /etc/passwd ter a conta semelhante a abaixo: nome_estacao1:x:505:501:apelido_estacao1:/dev/null:/bin/false Crie a conta da estao no Samba:

smbpasswd -a -m nome_estacao1 Crie agora a conta do usurio no Linux: useradd -G grupo1, grupo2 -n nome_do_usuario ou useradd -g grupo -n nome_do_usuario D uma senha ao usurio: passwd nome_do_usuario Crie esta conta do usurio no Samba: smbpasswd -a nome_do_usuario (utilizar a mesma senha) Para que a estao NT/2000 possa agora participar do Domnio, v at o Painel de Controle do Windows e selecione Network - Identification Tag. Pea para mudar o Domnio para o especificado no smb.conf (workgroup = ...). No marque a opo "Create a Computer Account in the Domain" pois no funciona! Pressione OK e aps alguns segundos a mensagem "Welcome to Whatever Domain" aparecer na tela. Reboot, e o logon estar disponvel.

Como migrar senhas do Domnio NT para o SAMBA


-----------------------------------------------------------------------------------------------Quando se deseja migrar de um servidor Windows NT para o SAMBA um dos problemas mais comuns o fato de que as senhas de logon so perdidas, pois entre o NT e o SAMBA a criptografia est em formatos diferentes. Para resolver este problema existe um pequeno programa que converte todo o registro de "nome e senha" do Windows NT para um arquivo smbpasswd compatvel com o SAMBA. Siga os passos abaixo: Primeiro preciso conectar-se ao ftp do Samba e baixar o utilitrio pwdump.exe, no seguinte endereo: ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exe Efetue logon como usurio Administrator no servidor NT (que disponibiliza a autenticao). Em seguida, abra um Command Prompt e v at o diretrio que voc colocou o pwdump. Rode o comando pwdump da seguinte maneira: #pwdump smbpasswd Ser gerado um arquivo smbpasswd com as informaes de autenticao (logon e senha) do Windows NT no formato criptografado utilizado pelo SAMBA. Agora copie o arquivo smbpasswd gerado para o servidor Linux (atravs de diskete ou diretrio compartilhado, por exemplo). No Linux, jogue o arquivo smbpasswd criado para o diretrio /etc e defina as permisses para 600: #chmod 600 /etc/smbpasswd Para que funcione corretamente, importante destacar que o ID dos usurios seja o mesmo tanto no smbpasswd quanto no passwd do Linux. Abra o smbpasswd e exporte os dados de autenticao (nome do usurio, ID, etc) mas no possvel fazer o

mesmo com as senhas. Se voc quiser exportar as senhas vai ter que quebr-las com algum password cracker :) Na verdade no necessrio ter a senha no passwd, apenas o login, ID e home. Para rodar o SAMBA e ele autenticar os usurios, no preciso ter a senha no passwd do Unix, apenas o login, ID e home se voc quiser export-los. Vo ser utilizadas as senhas do smbpasswd. Luciano Linhares Martins (lmartins@matrix.com.br) criou um script baseado no mksmbpasswd para converter as senhas em formato smbpasswd para o passwd. Funciona bem e pode ser modificado conforme a necessidade de cada um. um script bem simples e pode ser alterado de acordo com a sua necessidade. Crie o arquivo mkpasswd.sh com o contedo abaixo: #!/bin/sh awk 'BEGIN {FS=":" printf("#\n# Unix password file.\n#\n") } { printf( "%s:*:%s:103:%s:/home/%s:/bin/bash\n", $1, $2, $5, $1) } ' D um chmod 700 no arquivo e execute da seguinte maneira: #cat /etc/smbpasswd | ./mkpasswd.sh passwd-smb Se o seu arquivo smbpasswd e o script mkpasswd.sh estiverem em outro local, configure de acordo com a sua necessidade. Aps isso, gerado um arquivo chamado passwd-smb com os logins, id's, home, etc no formato do passwd do seu sistema. Normalmente, os ID's do smbpasswd vo comear a partir de 1000 e voc no vai ter problemas para junta-lo com o seu passwd do Unix sem nenhum conflito. Eu recomendo que voc confira antes de juntar as bases. Procure por logins com o mesmo ID, mesmo username e username com espaos. Se voc utiliza shadow importante desabilit-lo antes de juntar os arquivos. Desabilite o shadow atravs do comando pwunconv. Em seguida para passar o arquivo passwd-smb para o passwd do sistema entre no diretrio onde esta o arquivo passwdsmb que voc gerou e digite: #cat passwd-smb /etc/passwd Se voc utiliza o shadow, pode reativ-lo agora atravs do comando pwconv. Reinicie o Linux para que as alteraes entrem em vigor.

Exemplo de Login Script para estaes Windows


-----------------------------------------------------------------------------------------------O login script (ou logon script) uma ferramenta muito til para disponibilizar recursos na rede. O script abaixo um exemplo que pode usado em redes com estaes Windows. Lembre-se de que deve ser criado com o notepad (por exemplo) em uma estao Windows para que funcione corretamente! (Confira a seo [global] para saber mais sobre o logon script). Note que a sintaxe do comando net diferente para sistemas 95/98/Me e NT/2000.

rem Logon script padro para a rede. net time \\servidor1 /set /yes @echo off if %OS%.==Windows_NT. goto WinNT :Win95 net use X: \\servidor1\pasta_01 net use Z: /HOME goto end :WinNT net use X: \\servidor1\pasta_01 /persistent:no net use Z: /HOME /persistent:no :end

Configurando o SAMBA Remotamente


-----------------------------------------------------------------------------------------------Alm de ser um software de uso livre e compatvel com redes existentes, o SAMBA ainda possui outra caracterstica: permite ser administrado remotamente. Para isso deve utilizar um programa especfico que geralmente trabalha via http. possvel monitorar atravs de sua rede interna ou mesmo atravs da Internet. Os principais programas so o SWAT, Webmin e o LinuxConf. Existem outros mas no vou entrar em detalhes de como instalar estes programas ou utiliz-los, mas abaixo est o link para downloads, inclusive de programas para administrar o SAMBA atravs da Interface Grfica do Linux: http://us4.samba.org/samba/GUI

Configurando uma Lixeira (Recycle Bin) no Servidor Samba


-----------------------------------------------------------------------------------------------A partir da verso 2.2.3 o mdulo VFS recycle bin foi acrescentado ao Samba. Arquivos apagados a partir das estaes agora podem ser movidos para um diretrio especial e guardados de acordo com as configuraes de um arquivo especfico. Baixe o mdulo a partir do endereo abaixo: http://samba.org/ftp/unpacked/samba_2_2/examples/VFS/recycle/recycle.c Compile-o com o GNU autoconf e o Makefile (./configure && make). Copie o mdulo para o diretrio /usr/lib/samba/vfs (ou o /etc/samba para quem usa o RedHat e semelhantes). Baixe o arquivo de configurao recycle.conf do endereo abaixo: http://samba.org/ftp/unpacked/samba_2_2/examples/VFS/recycle/recycle.cof Guarde-o no diretrio /usr/lib/samba/vfs (ou o /etc/samba para quem usa o RedHat e semelhantes). Modifique seu smb.conf para utilizar o mdulo. Adicione as seguintes linhas, alterando o caminho conforme o caso: vfs object = /usr/lib/samba/recycle.so vfs options = /etc/samba/recycle.conf

Agora altere seu recycle.conf, conforme as opes abaixo: name Nome da Lixeira a nvel de root para o compartilhamento. Permite utilizar variveis como %U, %M, etc.Exemplo: name = .recycle/%U mode Define o comportamento da Lixeira. As opes so: KEEP_DIRECTORIES: Retm a hierarquia dos diretrios do arquivo excludo. VERSIONS: Cria "verses" para o arquivo excludo caso ele j exista na lixeira. Exemplo: teste.doc Copy #1 of teste.doc Copy #2 of teste.doc

TOUCH: Marca a data de acesso quando arquivos so excludos. til para scripts. No funciona caso voc no tenha dado permisses corretas ao arquivo que foi excludo. Exemplo: mode = KEEP_DIRECTORIES|VERSIONS|TOUCH maxsize Tamanho mximo dos arquivos que sero movidos para a lixeira. Defina 0 (zero) para arquivos de qualquer tamanho. Exemplo: maxsize = 0 exclude Apaga imediatamente os tipos de arquivos definidos ao chegarem na lixeira. Voc pode utilizar * e ? para facilitar a especificao do tipo de arquivo. Exemplo: exclude = *.tmp|*.temp|*.obj|~$*|*.$$$ excludedir Apaga imediatamente diretrios excludos, til para diretrios temporrios. Exemplo: excludedir = /tmp|/temp|/trash|/Trash noversions No cria "verses" dos arquivos na Lixeira. til apenas se o parmetro mode = VERSIONS for utilizado. Exemplo: noversions = *.doc|*.xls|*.ppt Confira abaixo um exemplo de configurao no [homes] para o seu smb.conf: [homes] comment = "Diretrio Pessoal" path = /home/%u writeable = yes create mask = 0750 vfs object = /usr/lib/samba/recycle.so vfs options = /etc/samba/recycle.conf Agora confira um exemplo para o seu recycle.conf: name = .recycle

mode = KEEP_DIRECTORIES|VERSIONS|TOUCH maxsize = 0 exclude = *.tmp|*.temp|*.o|*.obj|~$* excludedir = /tmp|/temp|/cache noversions = *.doc|*.xls|*.ppt Reinicie o Samba para validar as maudanas.

Script Para Limpar a Lixeira Automaticamente


-----------------------------------------------------------------------------------------------Este script procura por todos os arquivos com data de acesso mais antiga que a varivel $maxage e os apaga. Confira no seu recycle.conf o parmetro mode = VERSIONS. Execute-o sempre que precisar ou insira-o no seu Cron para rodar todos os dias noite, por exemplo. # !/usr/bin/perl - w # Modifique abaixo conforme o caminho do seu .recycle $dirpath = "/recycle_bin/.recycle"; # Define o nmero de dias $maxage = 2; # Apaga todos os arquivos antigos @a=`find $dirpath -atime +$maxage`; foreach (@a) { print "deleting file: $_"; $r = `rm -f $_ 2> /dev/zero`; } # Apaga todos os diretrios vazios @a=`find $dirpath -type d | sort -r`; foreach (@a) { print "deleting directory: $_"; $r = `rmdir $_ 2> /dev/zero`; }

Consideraes
-----------------------------------------------------------------------------------------------Abaixo esto algumas consideraes importantes sobre o SAMBA: O SAMBA permite ainda muitas outras configuraes que podem ser consultadas atravs do man do smb.conf. Uma documentao importante est em /usr/doc/samba-2.2.x/ com dicas e referencias a segurana, compatibilidades, etc.

navegao,

Uma caracterstica das verses mais recentes do SAMBA a possibilidade de um cliente NT/2000 usar sua interface nativa de configurao para ver e modificar permisses no Linux. O parmetro "nt acl support = yes" deve ser adicionado na seo [global] do smb.conf.

No aconselhvel reiniciar o SAMBA a cada modificao no smb.conf. Com excesso a parmetros relacionados seo [global], como "logon master", "interfaces" e outros que definem acesso ou segurana, a criao de compartilhamentos e permisses de acesso so automaticamente validadas pelo Samba. Muitos programas ficam "salvando" arquivos constantemente enquanto esto abertos, e se neste momento voc reiniciar o SAMBA ser um risco de se perder o arquivo. Por padro o SAMBA no utiliza autenticao encriptada na rede, mas sim "clear text". Verses mais atuais do Windows95/98/Me no utilizam o modo "clear text". Para resolver este problema temos duas solues: Soluo 1 - A mais indicada. Inserir os parmetros "encript passwords = yes" e "smb passwd file = /etc/smbpasswd" na seo [global] do smb.conf e certific ar-se de que todas as estaes na rede utilizam autenticao encriptada no logon. Para fazer o Windows trabalhar com senhas criptografadas, use o regedit e crie a seguinte chave: Windows 95/98 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e Data: 0x01 Windows NT 4.0 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e Data: 0x01 Windows 2000 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation \Parameters Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword e Data: 0x01 Uma vez que as alteraes no registro tenham sido feitas, reinicie a mquina Windows. Para maiores detalhes, leia os arquivos ENCRYPTION.txt, Win95.txt e WinNT.txt na documentao do Samba. Se seus clientes e seu servidor esto usando senhas criptografadas, voc no ser capaz de visualizar compartilhamentos no servidor at que uma conexo inicial tenha sido feita com a autenticao apropriada. Para conseguir a conexo inicial, entre o nome do compartilhamento manualmente no Gerenciador de Arquivos ou na caixa de dilogo do Explorer, na forma '\\'. Registre-se no servidor com um nome de usurio e senha que lhe so vlidos. Se voc suspeita que seu servio de nomes NetBIOS no est corretamente configurado (talvez porque voc tenha obtido erros 'host not found' ao tentar se conectar), tente usar somente o endereo IP do servidor: '\\192.168.0.1'. Para que o nome dos arquivos apaream corretamente, voc pode precisar configurar algumas opes na seo do compartilhamento. Adicione o seguinte parmetro para clientes Windows 95/98/NT/2000, mas pode apresentar problemas para clientes WfW3.11: "mangle case = yes". um tanto trabalhoso mudar uma rede com diversas estaes Win9x utilizando "clear text" na autenticao quando montamos um novo servidor PDC Samba. Mesmo assim, se possvel, procure utilizar um padro de senhas encriptadas para sua rede. Privar pela segurana mais do que importante, obrigatrio!

Soluo 2 - No utilizar encriptao no logon, alterando uma chave no registro do Windows. O SAMBA trs o arquivo .reg para cada verso do Windows com a chave modificada.

Execute o arquivo correspondente para validar a mudana (eles esto em /usr/doc/samba-2.0.x/docs). Se voc no possui estes arquivos, abaixo esto as chaves que devem ser modificadas nas estaes Windows para no utilizar o "clear text": Windows 95/98 [HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\VxD \VNETSUP] "EnablePlainTextPassword"=dword:00000001 WindowsNT 4.0 [HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001 Windows 2000 [HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\LanmanWorkStatio n \Parameters] "EnablePlainTextPassword"=dword:00000001 claro que se sua rede for "sniffada", os passwords que no estiverem encriptados sero descobertos. Em alguns casos vale a pena tirar a criptografia de login e monitorar a rede com um anti-sniffer. Mas lembre-se que o Windows NT e o 2000 s conseguem se autenticar no servidor SAMBA atravs de senha encriptada. Mais ainda: o Windows 2000 vem com algumas dificuldades para entrar no Domnio de um PDC Samba verso 2.1.x. Utilize a verso 2.2.2 ou superior do Samba para evitar problemas. Se o SAMBA deve diferenciar maisculas e minsculas quando procurando por arquivos, adicione "case sensitive = yes". Para utilizar como padro letras maisculas ou minsculas quando os arquivos so criados, adicione "default case = lower (ou upper)". Para preservar maisculas e minsculas para todos os nomes de arquivo, adicione "preserve case = yes". Para preservar maisculas e minsculas para nomes DOS (8.3), adicione "short preserve case = yes". Se o servidor possui mais de uma placa de rede, o smb.conf deve conter uma especificao para qual placa ser utilizada pelo Samba. Adicione o seguinte parmetro: "interfaces = 192.168.1.1/24", onde o nmero depois da / uma referencia mscara de sub-rede. "24" o valor a usar para uma rede Classe C no segmentada. Para mais informaes sobre clculo de sub-redes visite: http://www.ziplink.net/~ralphb/IPSubnet/index.html O SAMBA atualmente no pode ser utilizado como BDC (Backup Server) em conjunto com um PDC Windows NT ou 2000. Tanto as verses 2.0.x quanto as 2.2.x ainda esto prontas para tal tarefa (pelo menos por enquanto). O Samba de modo geral no permite "trust relationship" entre servidores Windows (NT e 2000). Quem sabe aps ler estas linhas este recurso j tenha sido disponvel? :) Todos os parmetros de configurao apresentados neste manual so vlidos para as verses 2.0.x e 2.2.x do Samba. Caso algum encontre alguma incompatibilidade, peo que entre em contato ok! Lembre-se que a documentao do SAMBA (do protocolo SMB em geral) extensa. Consulte os docs criados aps a sua instalao. Voc pode tambm obter referncias em documentaes do LDP (Linux Documentation Project), que no Brasil est em: http://ldp-br.conectiva.com.br .

Agradecimentos e crditos
-----------------------------------------------------------------------------------------------(Em verses anteriores deste manual eu no citei alguns nomes, puramente por esquecimento... Peo muitas desculpas pois ainda circulam na Internet. Os devidos crditos esto abaixo e se esqueci de algum, por favor email-me!!) Espero com este artigo ter ajudado todos aqueles que pretendem montar um servidor de arquivos Linux e difundir o Linux e sua documentao ao maior nmero possvel de empresas, administradores e usurios. Deixo meus sinceros agradecimentos a todos que colaboraram com este manual direta ou indiretamente, principalmente aos seguintes sites (em ordem de publicao): http://linux.unleashed.com.br http://www.linuxplace.com.br http://linux.trix.net/news http://ldp-br.conectiva.com.br http://www.olinux.com.br http://www.dicaslinux.com.br Revista "Linux Expert, n.3" ... e todos os outros que tambm publicaram este manual e que se esforam para divulgar o Linux no Brasil. Documentaes foram consultadas para agregar ainda mais informao a este manual, e foram elas: smb-howto do LDP (http://www.linuxdocs.org/HOWTOs/SMB-HOWTO.html) samba-howto da Conectiva ( http://www.conectiva.com.br/suporte/pr) o man do samba (http://www.linuxdoc.org/docs.html#man) publicaes disponveis no site oficial do Samba (http://us6.samba.org/samba/docs) Este manual pode ser encontrado em: http://br.geocities.com/vffzbr Agradeo tambm a todos os usurios, administradores e leitores que enviaram emails a respeito do manual, elogiando e criticando, buscando respostas para as dvidas e citando dicas a serem adicionadas a este. Parabns ao "Samba Team" pelo excelente trabalho! Grande Abrao a todos! :P Victor Zucarino (vffzbr@yahoo.com.br) Administrao e Engenharia de Redes. Nomer - A sua imagem na internet

Mais... E-mail com domnio prprio Tenha um e-mail personalizado com domnio prprio e passe uma imagem mais profissional. Inclui registro de domnio em seu nome e Site temtico em Flash (mais de 120 modelos). Confira!

Potrebbero piacerti anche