Por Victor Zucarino - Rio de Janeiro, dezembro de 2000 - atualizaçao 4.2 - vffz@hotmail.com
Referencias: Documentaçao e Manuais do SAMBA
Este manual é dedicado a todos aqueles que buscam divulgar o Linux no Brasil e no mundo, a todos que trabalham por sua documentaçao (LDP e todos os outros), a todos os sites nacionais que trabalham para disponibilizar informaçoes diversas, e em especial aos que acreditam e se esforçam para manter a proposta do GNU Linux.
O SAMBA é uma aplicaçao que utiliza o protocolo SMB (no Linux, os "server daemons" SMBD e NMBD) permitindo compatibilidade com redes que utilizam este protocolo, principalmente redes NetBios da Microsoft.
As mais recentes distribuiçoes já trazem o SAMBA como padrao, mas seu download e atualizaçoes estao disponívies em: http://us4.samba.org/samba/download.html
Com o SAMBA é possível compartilhar diretórios, impressoras, acessar arquivos na rede exatamente como em redes Microsoft. Mas neste caso, seu servidor é um Linux rodando uma aplicaçao específica. O Windows NT e o 2000 (assim como o NetWare 5 e outros presentes no mercado) sao reconhecidos mundialmente por sua segurança e escalabilidade, mas o SAMBA possui muitas vantagens que podem se transformar em soluçoes e economia para sua empresa. Confira:
- Permite compatibilidade com estaçoes Windows (de WfW a 2000) e servidores WinNT 4.0 e 2000. Entre servidores e estaçoes Linux (com Interface Gráfica por exemplo) a compatibilidade é total.
- O SAMBA é 100% configurável, com a grande vantagem de centralizar esta configuraçao em um único arquivo, o smb.conf. Sem dúvida é muito interessante ter a possibilidade de restaurar toda a configuraçao que disponibiliza seu Servidor de Arquivos (inclusive as permissoes de acesso) através do backup de apenas 1 arquivo, em casos de desastre. Porém isso nao quer dizer que nao seja necessário o backup de outros arquivos de configuraçao... :)
- Todo o SAMBA pode ser configurado remotamente através de acesso seguro, além do recebimento por email de informaçoes do estado do servidor (bastando utilizar um script específico que busca informaçoes nos arquivos de log e cria um arquivo que pode ser enviado por email).
- Em se falando de economia nao há o que discutir: o Linux e o SAMBA estao disponíveis para download na Internet sem ônus algum para qualquer usuário comum ou empresa que se interesse em utilizá-lo, sem custos com licensas ou atualizaçoes.
- O suporte está disponível 24h por dia, o ano todo: além do próprio site do SAMBA existem milhares de sites e listas de discussao dedicadas ao assunto, entre outras documentaçoes 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 sao especializados em Linux e Segurança para Linux.
Se a sua empresa busca uma soluçao estável e segura para Servidor de Arquivos da rede, o SAMBA é uma grande opçao.
Se a distribuiçao que deseja utilizar já traz o SAMBA, a instalaçao nao é necessária. Se deseja atualizá-lo ou iniciar a instalaçao, siga os passos abaixo:
Para instalar o SAMBA é necessário antes saber se o pacote está no formato RPM ou .tar (.tgz ou .tar.gz). Se o pacote for um RPM, execute o comando abaixo:
rpm -ivh samba-2.0.x-i386.rpm [ENTER]
Substituindo o "x" pelo número relativo a versao do pacote ou o nome correto do pacote dependendo da sua distribuiçao. 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.0.x-i386.tar.gz [ENTER]
Um diretório será criado com o nome samba-2.0.x. Entre neste diretório e em seguida no subdiretório source. Para iniciar a instalaçao digite:
./configure [ENTER]
Em seguida digite:
make [ENTER]
Os binários do SAMBA serao criados. Quando terminar digite:
make install [ENTER]
Agora os binários e páginas do man serao instalados. Aguarde o processo e quando terminar confira o diretório /usr/doc/samba-2.0.x/docs para informaçoes sobre o SAMBA.
Toda a configuraçao do SAMBA é centralizada no arquivo smb.conf, que deve ser guardado no diretório /etc. Nele é que sao descritos os compartilhamentos, permissoes de acesso, impressoras, dentre outras configuraçoes disponíveis. Quando instalado, o SAMBA disponibiliza os seguintes componentes:
O smb.conf é dividido basicamente em tres partes: a configuraçao do servidor SAMBA (parâmetros na seçao [global]), a configuraçao dos diretórios/pastas pessoais dos usuários (parâmetros na seçao [homes]) e as demais seçoes que correspondem aos diretórios compartilhados.
Cada seçao é representada entre colchetes [teste], e os parâmetros sao seguidos do sinal de igual (=) e o valor ou termo correspondente.
Confira abaixo um exemplo do smb.conf e em seguida a explicaçao de cada parâmetro presente nas seçoes:
[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 # wins server = 192.168.0.2 wins support = yes keep alive = 20 debug level = 3 winpopup command = 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 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
A seçao [global] define as configuraçoes globais do SAMBA. A tabela abaixo apresenta a explicaçao dos parâmetros do exemplo:
Parâmetros |
Funçoes |
comment |
Comentário para este Host na Rede. |
workgroup |
Especifica o Domínio ou Workgroup a que o Host pertence na Rede. |
security |
Por padrao o
SAMBA utiliza a segurança a nível de usuário (security = user), mas existem
outras opçoes: security = share -> Senhas de acesso serao solicitadas por cada recurso compartilhado e nao por usuário, ou seja, cada diretório ou impressora poderá ter uma senha única conhecida pelos usuários autorizados. security = user -> As permissoes sao dadas de acordo com o login do usuário, ou através dos grupos (@grupo). security = server -> O SAMBA tentará validara senha do usuário enviando os dados para outro servidor SMB, como outro servidor SAMBA ou um servidor Windows. Deve-se incluir o parâmetro .password server = x.x.x.x. na seçao [global] do smb.conf. security = domain -> Usado se o Host for adicionado a um Domínio Windows através do comando smbpasswd. Neste caso as informaçoes de usuário e senha serao enviadas para o PDC da rede, exatamente como o servidor NT faria. Note que é necessário que a conta do usuário exista tanto no Linux quanto no servidor primário. |
os level |
Este parâmetro nao é obrigatório se voce nao possui um servidor Windows na rede, mas deve ser usado caso tenha um ou mais. A variável é um número de 1 a 255, onde 65 é a mesma variável utilizada pelo servidor Windows. Especifique um número maior que este (como 100 por exemplo) para garantir que o servidor SAMBA seja eleito na escolha de validaçao do login das estaçoes. |
announce as |
Permite especificar o tipo de servidor NetBios (nmbd) que será divulgado na rede. As opçoes aceitas pelo SAMBA: "NT Server", "NT Workstation", "Win95" ou "WfW". |
domain logons |
Usado para validar o login na rede, apenas para estaçoes Windows. |
logon script |
Indica qual arquivo de logon script será executado para os usuários. A variável %u corresponde ao usuário na rede. Deve também ser criado um compartilhamento de nome [netlogon] apontando para o diretório dos scripts. |
logon path |
Indica o caminho do perfil remoto do usuário. A variável %L corresponde ao nome do servidor NetBios (que pode ser o próprio SAMBA). O logon path é útil quando usuários costumam efetuar logon em mais de um Host na rede, pois seu perfil é trazido com o logon. No caso do exemplo, o diretório "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 parâmetro força a eleiçao do SAMBA como Master Browser para o workgroup. É recomendável utilizar este parâmetro em conjunto com o .domain master = yes. para garantir a eleiçao. Mas tome cuidado: se voce possui uma rede com servidores Windows e SAMBA e já possui um servidor como Domain Master, nao use esta opçao e deixe o parâmetro .os level = 65. para haver equilíbrio. |
guest account |
O SAMBA trabalha melhor em redes Microsoft com a existencia de uma conta guest (visitante em ingles). Por padrao a conta usada é .nobody.. |
wins server |
Indica qual o servidor de Wins da rede. Se o próprio Host for o servidor de Wins entao nao utilize este parâmetro, 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 estaçoes tenham acesso a estas informaçoes e ganho em velocidade para encontrar e acessar os compartilhamentos e impressoras. O Wins Server deve ser especificado na configuraçao de rede (TCP/IP) das estaçoes, que é o endereço IP do servidor. |
keep alive |
Como máquinas rodando Windows tendem a travar de tempos em tempos, este parâmetro é usado para verificar o estado da conexao, evitando tráfego desnecessário na rede. Também pode ser usado para estaçoes Linux. |
debug level |
Parâmetro usado para dar flexibilidade a configuraçao do sistema. Permite ao SAMBA trabalhar corretamente com algumas situaçoes de erro, por exemplo. |
winpopup command |
Especifica qual commando será executado quando o servidor receber mensagens Winpopup. Aqui, muitas opçoes podem ser usadas de acordo com a preferencia do Administrador. Se sua rede utiliza mensagens deste tipo, é interessante definir um comando para o parâmetro, evitando assim possíveis mensagens de erro para quem enviou a mensagem ao servidor. |
log file |
Indica o arquivo de log do SAMBA. A variável %u corresponde ao nome de logon do usuário. |
null passwords |
Indica se será ou nao possível que usuários tenham senha nula de logon (logon sem senha). |
unix password sync |
Se este parâmetro for ativado (= yes) entao clientes SMB (como estaçoes Windows) poderao trocar sua senha de login. |
socket options |
Este parâmetro permite configuraçoes extras para o protocolo, possibilitando uma melhor performance do servidor em lidar com os pacotes na rede. |
printing |
Indica qual o sistema de impressao padrao utilizado pelo Linux. |
printcap name |
Indica o arquivo para busca das definiçoes das impressoras. |
load printers |
Disponibiliza as impressoras para a rede. |
hosts allow |
Indica quais máquinas tem acesso ao servidor SAMBA. Pode-se utilizar o endereço IP ou o nome da máquina. Para garantir acesso a toda uma rede por exemplo, escreva: "hosts allow = 192.168.1.". |
hosts deny |
Como em "hosts allow", mas para restringir o acesso ao servidor SAMBA. |
A seçao [homes] define os parâmetros para as pastas pessoais dos usuários na rede (home dir):
Parâmetros |
Funçoes |
comment |
Comentário para este compartilhamento. |
public |
Também conhecido como .guest ok., permite ou nao acesso de outros usuários. |
browseable |
Define se o compartilhamento será ou nao visível para o Ambiente de Rede. Estaçoes Windows95 versao 4.00.950-C nao aceitam esta opçao, onde uma possível soluçao é utilizar o nome do compartilhamento seguido de $ (teste$ por exemplo), como faz-se no Windows. |
writeable |
Indica se o usuário poderá ou nao ecrever em sua pasta pessoal (home dir). |
As demais seçoes correspondem a compartilhamentos presentes na rede. Os parâmtros abaixo sao apenas alguns dos possíveis:
Parâmetros |
Funçoes |
comment |
Comentário para o compartilhamento. |
path |
Caminho do diretório compartilhado |
writeable |
Indica se será ou nao possível criar ou excluir arquivos ou diretórios do compartilhamento. |
public / guest ok |
Indica se será ou nao permitido o acesso de outros usuários. |
browseable |
Define se o compartilhamento será ou nao visível para o Ambiente de Rede. |
write list |
Define os usuários e/ou grupos com acesso de escrita no compartilhamento. Para mais de um usuário, separe os nomes por vírgula (user1, user2, etc) e para grupos utilize @ antes do nome do grupo. |
read list |
Como em .write list., mas define quem terá permissao de apenas leitura. |
force create mode |
Diz ao SAMBA para forçar o tipo de permissao dos arquivos criados (o mesmo que usar o chmod). Esta permissao tem menor prioridade que os parâmetros .write list. e .read list.. |
force directory mode |
O mesmo que .force create mode., mas para os diretórios criados no compartilhamento. |
admin users |
Indica quais sao os usuários com permissao completa para o compartilhamento (permissao de root). |
copy |
Permite copiar os parâmetros de outra seçao, como um template por exemplo, útil se utiliza compartilhamentos semelhantes. Para alterar parâmetros basta informá-los na seçao atual. |
hosts allow |
Indica quais máquinas podem acessar o compartilhamento. Pode-se utilizar o endereço IP ou o nome da máquina. 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 número máximo de conexoes simultâneas ao compartilhamento. |
max disk size |
Permite especificar qual o limite de espaço em disco que o compartilhamento pode utilizar. Este valor é definido em Mb (megabytes). |
A tabela abaixo apresenta variáveis que podem ser usadas em parâmetros:
Variáveis |
Funçoes |
%S |
Nome do Serviço (compartilhamento) atual. |
%u |
Nome do usuário. |
%g |
Nome do grupo. |
%H |
Nome do diretório pessoal do usuário (home dir). |
%m |
Nome da máquina cliente fornecido pelo NetBios. |
%L |
Nome do servidor NetBios, permitindo que a configuraçao desejada seja alterada de acordo com o cliente que vai acessar o sistema. |
%M |
Nome Internet da máquina cliente. |
%a |
Sistema Operacional da máquina remota, onde os reconhecidos sao WfW, WinNT e Win95. |
%I |
O endereço IP da máquina cliente. |
%T |
Data e horário. |
Agora que o smb.conf está configurado faça um teste para saber se está tudo certo, com o comando testparm:
testparm > teste_config_samba [ENTER] [enter novamente]
Será criado o arquivo teste_config_samba. Confira este arquivo e caso exista alguma mensagem de erro (ERROR...) volte e corrija o problema. Acertadas as configuraçoes, deve-se ativar o SAMBA:
/etc/rc.d/init.d/smb start [ENTER]
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 após a inicializaçao do servidor, execute o ntsysv [nota do editor: caso sua distribuição de Linux não use o ntsysv, utilize o método descrito no manual específico da mesma] e marque o SMB. Voce também pode escrever a linha de "start" do smb no arquivo /etc/rc.d/rc.local, da seguinte forma:
1. De um vi no rc.local (#vi /etc/rc.d/rc.local [ENTER]).
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" [ENTER].
A partir de agora, sempre que o computador for reiniciado o SAMBA será ativado automaticamente.
O smbclient
Da mesma forma que o SAMBA permite que o Linux atue como servidor em redes Microsoft, ele também permite atuar como estaçao, sem que nenhuma configuraçao seja necessária no servidor Microsoft.
Com o smbclient é possível acessar dados em um servidor Windows (lembra o comando net da Microsoft, mas os comandos utilizados sao similares aos de FTP). Ele pode ser usado para receber e enviar arquivos, listar diretórios, navegar pelos diretórios, renomear e apagar arquivos, entre outros. Diretórios compartilhados por um servidor SAMBA sao acessados da mesma forma.
Para verificar quais compartilhamentos estao disponíveis em um determinado Host, execute:
/usr/sbin/smbclient -L host_desejado [ENTER]
A resposta será uma lista de serviços, ou seja, nomes de dispositivos ou impressoras que podem ser compartilhados com os usuários na rede. A menos que o servidor SMB nao tenha itens de segurança configurados, será solicitada uma senha antes de mostrar as informaçoes. Exemplo:
smbclient -L servidor1 [ENTER]
A resposta será semelhante a:
Server time is Fri Dec 22 15:58:02 2000Timezone 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]
Onde "senha" é literalmente a senha de acesso. Se o caminho estiver correto a resposta será algo como:
Server time is Fri Dec 22 16:01:12 2000 Timezone is UTC+10.0 Domain=[EMPRESA] OS=[Windows NT 4.0] Server=[NT LAN Manager] smb:\>
Digite h para obter ajuda sobre os comandos do smbclient.
O smbtar
Também é possível fazer backup (cópias de segurança) para o formato .tar de arquivos que estao em compartilhamentos na rede. Esta operaçao é muito útil para garantir backup de arquivos em estaçoes com pastas compartilhadas mas que nao pertencem ao Domínio da rede (por exemplo). 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 [ENTER]
Para conferir se o arquivo foi criado corretamente, digite:
tar -tvf vacina.tar [ENTER]
Se o empacotamento teve sucesso, voce 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).
O smbpasswd
O SAMBA permite também que as estaçoes troquem suas senhas de logon, utilizando o smbpasswd. Ele age de forma similar ao comando passwd, mas as senhas sao armazenadas no arquivo smbpasswd. É posível ainda alterar a senha dos usuários em um servidor Primário de um Domínio NT (PDC). Utilizado pelo superusuário, ele permite que contas sejam adicionados ou removidos e atributos sejam alterados.
Mantenha o "localhost" especificado no parâmetro "allow hosts" para seu perfeito funcionamento.
O smbpasswd é um arquivo em formato ASCII e contém o nome do usuário, identificaçao junto ao Linux, a senha encriptada, o indicador de como está a conta e a data de última alteraçao da senha do usuário.
Vale destacar que o smbpasswd somente é útil quando o SAMBA está configurado para utilizar senhas criptografadas (veja detalhes em Consideraçoes).
Para saber a situaçao atual das conexoes SAMBA, utilizamos o smbstatus ($smbstatus [ENTER]). Abaixo está a lista das opçoes aceitas:
-b -> Fornece uma resposta resumida.
-d -> Fornece uma resposta comentada.
-L -> Lista somente os recursos em uso.
-p -> Lista os processos smbd e finaliza em seguida. Útil quando
utilizado em programas.
-S -> Lista todos os compartilhamentos definidos.
-s -> Permite utilizar outro arquivo de configuraçao (smb.conf2 por
exemplo), que deve ser especificado após a opçao.
-u -> Lista as informaçoes relevantes sobre o usuário, que deve ser
especificado após a opçao.
O testprns
O testprns verifica o nome da impressora junto ao smbd, a fim de determinar se há um nome válido (entrada encontrada em printcap para a impressora) sendo informado para uso pelo serviço de impressao. Pode ser ativado da seguinte forma:
testprns
Encontrada uma impresora válida, a mensagem "Valid Printer" (ou outra
semelhante, dependendo da distribuiçao utilizada) será apresentada. O
arquivo /etc/printcap define as impressoras.
Se sua rede já possui um servidor PDC (WindowsNT) e voce deseja
adicionar um servidor SAMBA, é necessário antes de tudo configurar o
SAMBA: nao utilizar o parâmetro "domain master" e "domain logons"
(conforme o caso) e também manter o parâmetro "os level" igual ou
inferior a 65.
O nome NetBios do servidor SAMBA deve também ser adicionado ao PDC do
Domínio NT (através do Gerenciador de Servidores para Domínios).
Assim, uma conta será criada para o SAMBA no PDC.
Como exemplo, vamos citar um servidor SAMBA como o nome NetBios
"Samba" e o Domínio chamado "EMPRESA". O PDC terá o nome "File_Server"
e existem também 2 controladores de backup com os nomes "Backup1" e
"Backup2".
Para juntar-se ao Domínio, o servidor SAMBA deve executar o comando
abaixo:
smbpasswd -j EMPRESA -r File_Server [ENTER]
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 parâmetros do smb.conf e tente novamente.
O comando acima ativa o protocolo de mudança de senhas, gerando um
nova conta aleatória 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 parâmetros na seçao
[global]:
Reinicialize o SAMBA para validar as mudanças.
Se voce possui um PDC SAMBA e estaçoes Windows NT Workstation
(utilizando senha encriptada), deve seguir o modelo abaixo para criar
contas específicas para estas estaçoes.
Em primeiro lugar, crie o arquivo smbpasswd (se ele nao existir)
conforme abaixo e de a permissao apropriada:
touch /usr/local/samba/private/smbpasswd [ENTER]
É interessante destacar que dependendo da distribuiçao este arquivo
pode estar no diretório /etc como link (ou nao) para seu diretório
original, guardando muitas vezes a configuraçao sem nada escrever em
/usr/local/samba/private/smbpasswd. Confira a localizaçao correta do
arquivo e só entao siga em frente.
Agora adicione a conta NT, onde o exemplo abaixo utiliza o nome de
usuário "teste" e o grupo "estacoes" (que deve ser criado manualmente
com o comando groupadd), que nao contém password, shell ou diretório
home. Perceba que o $ foi adicioando ao final do nome:
adduser -g estacoes -c NTWorkstation -d /dev/null -s /bin/false -n
teste$ [ENTER]
Importante: quem utiliza FreeBSD, nao deve adicionar o $ no final do
nome da conta pois o adduser deste sistema nao aceita tal caracter.
Utilize o vipw ou outro similar para adicionar manualmente no arquivo
/etc/passwd. [Nota do editor: para evitar riscos, coloque o teste$ entre
aspas simples, assim: 'teste$' - tanto em FreeBSD como emqualquer outro
SO]
Adicione agora a conta ao smbpasswd, digitando:
smbpasswd -a -m teste$ [ENTER]
Para que a estaçao NTWorkstation possa agora participar do Domínio, vá
até o Painel de Controle do NT e selecione Network -> Identification
Tag. Peça para mudar o Domínio para o especificado no smb.conf
(workgroup = ...). Nao marque a opçao "Create a Computer Account in
teh Domain" pois nao funciona! Pressione OK e após alguns segundos a
mensagem "Welcome to Whatever Domain" aparecerá na tela. Reboot e o
logon estará disponível.
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 estaçoes Windows95/98 e NTWorkstations. Lembre-se
de que deve sre criado com o notepad (por exemplo) em uma estaçao
Windows para que funcione corretamente! (Confira a seçao [global] no
início do documento para saber mais sobre o logon script). Note que a
sintaxe do comando net é diferente para sistemas 95/98 e NT.
Além de ser um software de uso livre e compatível com redes
existentes, o SAMBA ainda possui outra característica: permite ser
administrado remotamente. Para isso deve utilizar um programa
específico que geralmente trabalha via http. Nao 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 através da Interface Gráfica do Linux:
http://us4.samba.org/samba/GUI/
Abaixo estao algumas consideraçoes importantes sobre o SAMBA:
O SAMBA permite ainda muitas outras configuraçoes que podem ser
consultadas através do man do smb.conf. Uma documentaçao importante
está em /usr/doc/samba-2.0.x/ com dicas e referencias a segurança,
navegaçao, compatibilidades, etc.
Uma característa das versoes mais recentes do SAMBA é a possibilidade
de um cliente WinNT usar sua interface nativa de configuraçao para ver
e modificar permissoes no Linux. O parâmetro "nt acl support = yes"
deve ser adicionado na seçao [global] do smb.conf.
É aconselhável reiniciar o SAMBA a cada modificaçao no smb.conf
(embora nao seja realmente necessário), principalmente em se tratando
de parâmetros como "path", "logon master", e outros que definem acesso
ou segurança.
Por padrao o SAMBA nao utiliza autenticaçao encriptada na rede, mas
sim "clear text". Versoes mais atuais do Windows95 e 98 nao utilizam o
modo "clear text". Para resolver este problema temos duas soluçoes:
Soluçao 1 - Inserir os parâmetros "encript passwords = yes" e "smb
passwd file = /etc/smbpasswd" na seçao [global] do smb.conf e
certificar-se de que todas as estaçoes na rede utilizam autenticaçao
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
Data: 0x01.
Windows NT 4.0
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters -
Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword
Data: 0x01
Uma vez que as alteraçoes no registro tenham sido feitas, reinicie a
máquina Windows e tente mapear um drive de rede no servidor Samba de
novo. Isto deve funcionar, já que o servidor Samba está usando senhas
nao criptografadas.
Para maiores detalhes, leia os arquivos ENCRYPTION.txt, Win95.txt e
WinNT.txt na documentaçao do Samba. Se seus clientes e seu servidor
estao usando senhas criptografadas, voce nao será capaz de visualizar
compartilhamentos no servidor até que uma conexao inicial tenha sido
feita com a autenticaçao apropriada. Para conseguir a conexao inicial,
entre o nome do compartilhamento manualmente no Gerenciador de
Arquivos ou na caixa de diálogo do Explorer, na forma '\\\'.
Registre-se no servidor com um nome de usuário e senha que lhe sao
válidos.
Se voce suspeita que seu serviço de nomes NetBIOS nao está
corretamente configurado (talvés porque voce tenha obtido erros 'host
not found' ao tentar se conectar), tente usar somente o endereço IP do
servidor: '\\\'. Para que o nome dos arquivos apareçam corretamente,
voce pode precisar configurar algumas opçoes na seçao de
compartilhamento apropriada. Adicione o seguinte parâmetro para
clientes Windows 85/98/NT, mas pode apresentar problemas para clientes
WfW: "mangle case = yes".
Soluçao 2 - Nao utilizar encriptaçao no logon, alterando uma chave no
registro do Windows. O SAMBA trás o arquivo .reg para cada versao do
Windows com a chave modificada. Execute o arquivo correspondente para
validar a mudança (eles estao em /usr/doc/samba-2.0.x/docs).
Se voce nao possui estes arquivos, abaixo estao as chaves que devem
ser modificadas nas estaçoes Windows para nao 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\LanmanWorkStation\Parameters]
"EnablePlainTextPassword"=dword:00000001
É claro que se sua rede for "sniffada", os passwords que nao estiverem
encriptados serao descobertos. Em alguns casos vale a pena tirar a
criptografia de login e monitorar a rede com um anti-sniffer. Deve-se
levar em consideraçao redes heterogeneas, onde tem-se estaçoes DOS6.x,
WfW, 95 (A, B e C), 98 (1st e SE), NT, 2000.
Se o SAMBA deve diferenciar maiúsculas e minúsculas quando procurando
por arquivos, adicione "case sensitive = no". Para utilizar como
padrao letras maiúsculas ou minúsculas quando os arquivos sao criados,
adicione "default case = lower". Para preservar maiúsculas e
minúsculas para todos os nomes de arquivo, adicione "preserve case =
yes". Para preservar maiúsculas e minúsculas para nomes DOS (8.3),
adicione "short preserve case = no".
Se o servidor possui mais de uma placa de rede, o smb.conf deve conter
uma especificaçao para qual placa(s) será utilizada. Adicione o
seguinte parâmetro: "interfaces = 192.168.1.1/24", onde o número
depois da / é uma referencia a máscara de sub-rede. "24" é o valor a
usar para uma rede Classe C nao segmentada. Para mais informaçoes
sobre cálculo de sub-redes visite:
http://www.ziplink.net/~ralphb/IPSubnet/index.html
Lembre-se que a documentaçao do SAMBA (do protocolo SMB em geral) é
extensa. Consulte os docs criados após a sua instalaçao. Voce pode
também obter referencias em documentaçoes do LDP (Linux Documentation
Project), que no Brasil está em: [4]http://ldp-br.conectiva.com.br/.
Se voce encontrou algum erro neste manual, tem alguma sugestao, dica
ou crítica a fazer, por favor, entre em contato através do meu email:
vffz@hotmail.com
Sou atualmente administrador de redes Linux, com enfase em aplicaçao e
segurança.
EOF
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.
ADICIONANDO O SAMBA A UM DOMÍNIO NT
security = domain # Pois agora o SAMBA pertence a um Domínio
# existente.
workgroup = EMPRESA #Este é o Domínio utilizado.
encrypt passwords = yes # Para logon encriptado.
password server = File_Server Backup1 Backup2 # Autenticaçao no
# domínio.
ADICIONANDO USUÁRIOS NT AO DOMÍNIO SAMBA
chmod go-rwx /usr/local/samba/private/smbpasswd [ENTER]
EXEMPLO DE SCRIPT PARA ESTAÇÕES WINDOWS95/98 E NT
rem Logon script padrao 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
CONSIDERAÇÕES