Você está na página 1de 16

1

CONFIGURANDO O SAMBA
escrito por: Bruno T. Russo brusso@mackenzie.com.br http://www.btr.hpg.com.br

criado com OpenOffice 1.0

Janeiro / 2003

SUMRIO
1. Introduo 2. Instalao 3. Configurao 4. Testando o Samba 5. Inicializando o Samba 6. Acessando o Servidor SAMBA, atravs de estaes Windows9.x 6.1 Exemplo de Script para login para estaes Windows 7. Acessando o Servidor SAMBA, atravs de estaes Linux 8. Acessando o Servidor SAMBA, atravs de estaes NT Workstation 9. Migrando Senhas do WindowsNT para o SAMBA 10. Adicionando o SAMBA a um Domnio WindowsNT 11. Configurando o SAMBA remotamente 12. Adicionando Usurios ao SAMBA 13. Componentes do SAMBA 13.1. smbtar 13.2. smbpasswd 13.3. smbstatus 13.4. testprns 14. Exemplo de Configurao do arquivo SMB.CONF 3 3 3 7 7 8 8 8 9 9 10 11 11 11 11 12 12 12 13

1. INTRODUO
Em uma rede de Computadores, o intuito principal o de compartilhar informaes/recursos. Entre esses recursos esto: o compartilhamento de arquivos, compartilhamento de impressoras, etc. Com o Samba, possvel fazer tudo isso, obtendo o mximo em qualidade do Sistema/Aplicao, tais como: compatvel com estaes Windows e servidores WinNT e Win2000; compatibilidade total com estaes Linux (contendo interface grfica, por exemplo); toda sua configurao se concentra em apenas um nico arquivo smb.conf, alm de ser totalmente configurvel; toda a configurao pode ser feita remotamente. o Samba est disponvel para download, assim como suas atualizaes em: http://www.samba.org

Neste Tutorial, vou abordar uma das inmeras configuraes que o Samba pode ter. Pode ser que existam outros arquivos ou parmetros que eu no vou cobrir. Para maiores informaes sobre outros parmetros, veja a manpage do Samba.

2. INSTALAO
Atualmente a maioria das distribuies j instalam o Samba por padro, mas se por algum motivo voc no tiver o pacote instalado, proceda da seguinte forma: rpm -ivh samba-versao.rpm --> rpm -Uvh samba-versao.rpm --> esta instalao serve apenas para pacotes RPM Aps a instalao o Samba, disponibiliza os seguintes componentes: smbd - O servidor Samba. nmbd - O servidor de Nomes NetBios. smbclient - Cliente SMB para sistemas Unix. smbpasswd - Permite alterar senhas (encriptadas) de usurios smb. smbprint - Cliente para envio de impresso para sistemas Linux. smbstatus - Apresenta a situao atual das conexes SMB no Host. testparm - Verifica as configuraes do arquivo smb.conf. testprns - Verifica a comunicao via rede com as impressoras.

instalao atualizao

3. CONFIGURAO
Como j foi dito anteriormente, toda a configurao do Samba est no arquivo smb.conf , que deve estar guardado no diretrio /etc. Neste arquivo

4 descrevemos os compartilhamentos, permisses de acesso, impressoras. Abaixo esto os parmetros usados na configurao: Seo [global] Nesta seo so definidos os parmetros globais do Samba. Veja os parmetros que podem ser usados nesta seo: comment comentrio para o Host na rede. workgroup especifica o Domnio ou o Workgroup a que o Host pertence na Rede. security (O Samba utiliza segurana a nvel de usurio security=user , com opes) security = share - cada recurso compartilhado necessita que uma senha seja informada, para a utilizao daquele recurso. Geralmente este parmetro utilizado quando para estaes Linux. security = user - a permisso dada de acordo com cada usurio, na hora em que ele efetua o login. Est opo tambm se aplica a grupos (@grupo). security = server - o Samba validar a senha enviando os dados do usurio para outro servidor Samba ou Windows, para isso deve-se incluir o parmetro password server = IP_SERVIDOR , na seo global. security = domain - este parmetro deve ser usado, se o Host for adicionado a um domnio Windows atravs do comando smbpasswd, ento as informaes so enviadas para o PDC da rede.

os level este parmetro obrigatrio, caso voc utilize mais servidores Linux ou Windows. O valor um nmero de 1 a 255, onde 65 a mesma varivel utilizada pelo Windows, especificando um nmero maior que este, voc garante a escolha do servidor Samba para a validao do login nas estaes. announce as especifica o tipo de servidor NetBios (nmbd) que ser divulgado na sua rede. As opes vlidas so: NT Server; NT Workstation; Win95; WFW . domain logons usado para validar logins na rede. Apenas para estaes Windows. logon script define qual arquivo de logon script ser executado para os usurios. Devese criar o compartilhamento de nome [netlogon] apontando para o diretrio de scripts. logon path o caminho do perfil remoto do usurio. Este parmetro til, quando

5 usurios costumam fazer o login em mais de um host na rede, pois dessa forma seu perfil trazido com o login. domain master informa se o Host ser o Domain Master Browser da rede toda. local master informa se o Host ser o Master Browser da rede local. prefered master com este parmetro, fora-se o Samba a atuar como Master Browser para o workgroup. Junto com este parmetro, recomendvel a utilizao do parmetro domain master = yes . Porm, se sua na sua rede tiver outros servidores (Windows e at mesmo Samba), e alguns desses outros j forem Domain Master, no utilize esta opo e deixe o parmetro os level = 65 . guest account para que ocorra uma melhor performance em redes Windows, recomendvel a utilizao de uma conta guest(visitante), por padro, no Samba, a conta usada nobody. wins server aqui deve ser informado qual o servidor Wins da rede. Caso o prprio Host seja, ento no utilize este parmetro, pois o sistema entrar em loop e conseqntemente travar. wins support permite que o Samba seja o servidor Wins da rede, onde conter uma tabela com o ambiente de rede completo. Dessa forma h um certo ganho no desempenho, quando um determinado host for localizar outra maquina na rede, por exemplo. keep alive verifica o estado dos hosts (ativos ou no), este parmetro deve ser utilizado quando as estaes forem Windows, e constantemente travam. Com a utilizao deste parmetro, evita-se o trfego desnecessrio de informaes na rede. Tambm pode ser usado com estaes Linux. debug level este parmetro forneve ao Samba, uma maior flexibilidade para trabalhar com algumas situaes de erro. winpopup command define-se qual o comando ser executado quando o servidor receber mensagens Winpopup(existem muitas configuraes, que podem ser colocadas aqui). interessante utilizar essa opo se a sua rede utiliza mensagens desse tipo. log file

6 especifica o arquivo de log do Samba. Por padro os arquivos de log gerados pelo Samba, esto em /var/log/samba . null passwords define a permisso para contas de usurios sem senha. 1 password sync caso este parmetro esteja ativado (com valor = yes), permite que estaes Windows troquem de senha. socket options este parmetro permite configuraes extras para o protocolo, possibilitando uma melhor performance do servidor para trablhar com os pacotes de rede. printing define qual o sistema padro de impresso utilizado pelo Linux. printcap name define qual o arquivo que contm informaes das impressoras. load printers disponibiliza as impressoras para a rede. hosts allow define qual mquina tem acesso a rede. Pode-se utilizar o IP ou o nome da mquina. Para definir uma rede toda usa-se: " hosts allow = 192.168.10. " . hosts deny define qual mquina n ter acesso a rede. Deve ser utilizado da mesma forma que o parmetro hosts allow . admin users define quais usurios possuem permisso completa (permisso de

root ).

max disk size especifica qual o limite de espao em disco que ser utilizado. O valor deve ser informado em Megabytes. Para especificar, por exemplo, um determinado valor para a sesso home (vista logo abaixo), voc deve trabalhar com as quotas do Linux. Seo [homes] Nesta seo, define-se os parmetros para as pastas pessoais dos usurios. comment parmetro de comentrio para este compartilhamento. public

7 este parmetro compartilhamento. define se outros usurios podero acessar o

browseable define se o compartilhamento ser visvel ou no no Ambiente de Rede. writeable define a permisso de escrita para o usurio. Seo [netlogon] Nesta seo, define-se os parmetros para os scripts de login dos usurios. comment parmetro de comentrio para este compartilhamento. path define o local onde esto os scripts de cada usurio. public este parmetro compartilhamento.

define

se

outros

usurios

podero

acessar

browseable define se o compartilhamento ser visvel ou no no Ambiente de Rede. writeable define a permisso de escrita para o usurio. Demais Sees [NOME_SESSO] Cada sesso um compartilhamento existente na rede. Abaixo, esto alguns parmetros que podem ser usados nesta seo. comment parmetro de comentrio para este compartilhamento. path define o local onde est o compartilhamento. valid users aqui deve ser informado o nome dos usurios que tem permisso para acessar este compartilhamento. writeable define se ser ou no permitido criar ou excluir arquivos ou diretrios deste compartilhamento. public / guest ok este parmetro

define

se

outros

usurios

podero

acessar

8 compartilhamento. browseable define se o compartilhamento ser visvel ou no no Ambiente de Rede. write list define os usurios/grupos que tero acesso de escrita no compartilhamento. Para utilizar vrios nomes de usurios, deve-se usar virgula(,) entre os nomes de cada usurio. para grupos deve-se usar @nome_do_grupo. read list define os usurios/grupos que tero acesso de leitura no compartilhamento. force create mode este parmetro, faz com que o Samba fore o tipo de permisso para cada arquivo criado dentro do compartilhamento, seria semelhante ao chmod do Linux. force directory mode este parmetro, faz com que o Samba fore o tipo de permisso para cada diretrio criado dentro do compartilhamento, seria semelhante ao chmod do Linux. copy copia os parmetros de outra seo. til se voc utiliza compartilhamentos semelhantes. Para a alterao de algum parmetro, basta voc modific-lo na seo atual. max connections define o nmero mximo de conexes simultneas que o compartilhamento pode "responder".
Em alguns parmetros usa-se variveis, abaixo, encontra-se algumas variveis mais utilizadas. %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 so reconhecidos: WFW, WinNT e Win95;


%I - O endereo IP da mquina cliente;

%T - Data e Horrio.

4. Testando o SAMBA

Aps a configurao do arquivo smb.conf, voc pode fazer um teste para saber se a configurao est correta, para isto utiliza-se o comando testparm: testparm confira o resultado apresentado na tela. Caso aparea alguma mensagem de erro edite novamente o arquivo de configurao (smb.conf).

5. Inicializando o SAMBA
Aps a configurao, deve-se iniciar o servio da seguinte forma: /etc/rc.d/init.d/smb start para conferir se o Samba est no ar digite: /etc/rc.d/init.d/smb status

6. Acessando o Servidor SAMBA, atravs de estaes Windows9.x


Para acessar o Samba atravs de estaes Windows9.x proceda da seguinte forma: v at o painel de controle e selecione Rede => Adicione um "Cliente para Redes Microsoft" => Selecione a opo "Efetuar o logon no Domnio do Windows NT". No campo "Domnio do Windows NT" informe o Domnio(workgroup) declarado no arquivo smb.conf. Reinicie a mquina e efetue o logon. A mquina cliente, deve estar na mesma rede do servidor (exceto em caso de haver um roteador). interessante ressaltar que todos os usurio do Samba, devem existir no Linux/Unix. Para criar um usurio no Samba, execute o comando abaixo: smbadduser usuario:grupo_trabalho em seguida ser necessrio digitar uma senha para o usurio. Esta senha no tem nada a ver com a senha do Linux/Unix.

6.1 Exemplo de Script para login (para estaes Windows)


Os scripts so muito interessantes, pois disponibilizam recursos assim que um usurio se conecta no Servidor. Abaixo encontra-se um script, no qual atualiza o harrio da estao de acordo com o servidor e mapeia o drive X: como sendo um diretrio compartilhado e o drive H: como sendo o drive pessoal do usurio, que pode ser usado tanto em estaes Windows95 quanto em WindowsNT: rem Logon Script padro para rede. net time \\servidor /set /yes

10 @echo off if %OS%.==Windows_NT.goto WinNT :Win95 net use X: \\servidor\pasta net use H: /HOME goto end :WinNT net use X: \\servidor\pasta /persistent:no net use H: /HOME /persistent:no :end

7. Acessando o Servidor SAMBA, atravs de estaes Linux


O Samba alm de permitir o acesso de estaes Windows, tambm permite que estaes Linux acessem Servidres Samba e/ou Servidores/estaes Windows. O comando que torna o acesso possvel, o smbclient. Atravs deste comando, possvel listar, ler, copiar, excluir, alterar arquivos/diretrios. Para verificar em um host, qual o(s) compartilhamento(s), existentes, voc deve executar, o seguinte comando: smbclient -L nome_host este comando retorna uma lista de servios, nomes de dispositivos/impreeja protegido, por uma senha, esta, juntamente com o nome do usurio ser solicitada. Veja um exemplo:ssoras, que esto compartilhadas na rede. Caso o recurso esteja protegido, por uma senha, esta, juntamente com o nome do usurio ser solicitada. Veja um exemplo: smbclient -L servidor Server time is Fri Dec 18 22:40:25 2001 Timezone is UTC+10.0 Password: Domain=[Empresa] OS=[Windows NT 4.0] Server=[NT LAN Manger 4.0] Server=[servidor1] User=[] Workgroup=[empresa] Domain=[] Sharename ADMIN$Disk Public C$ Print$ Type Remote Disk Disk Disk Comment Administration Public Default Share Printer Control

para acessar uma pasta compartilhada, especifique o caminho da rede, conforme o exemplo abaixo: smbclient //maquina/pasta senha

11 aps digitar o comando acima, voc dever entrar em um prompt smb:\>

8. Acessando o Servidor SAMBA, atravs de estaes NT Workstation


Quando voc trabalha com WindowsNT Workstation e possui um PDC Samba, deve-se criar contas especficas para estas estaes, alm disso o parmetro de encriptao de login deve estar ativado (este parmetro necessrio, devido ao terceiro Service Pack, que tornou a encriptao de login padro). Se deve alterar a permisso do arquivo smbpasswd, geralmente este arquivo encontra-se em /usr/local/samba/private/smbpasswd, em algumas distribuies h um link que est localizado em /etc. Para alterar a permisso do arquivo, utilize o comando abaixo: chmod go-rwx /usr/local/samba/private/smbpasswd Para adicionar a conta NT, no servidor, siga os passos abaixo(no exemplo abaixo, o nome do usurio "teste" e o grupo "estacao"): adduser -g estacao -c NTWorkstation -d /dev/null -s /bin/false -n teste$ smbpasswd -a -m teste$ Agora, necessrio configurar a estao, para que a mesma possa participar do Domnio. Isso deve ser feito da seguinte maneira: v at o painel de controle e selecione Network => Identification Tag. Mude o Domnio para o Domnio especificado no arquivo smb.conf. Pressione OK e aps alguns segundos dever aparecer a mensagem "Welcome to Whatever Domain". Reinicie a mquina e efetue o logon.

9. Migrando Senhas do WindowsNT para o SAMBA


Um dos principais problemas que ocorrem na migrao de um servidor WindowsNT, para o Samba, o fato de que as senhas de logon so perdidas, devido a criptografia do WindowsNT ser diferente da criptografia do Samba, mas para resolver este problema existe um programa que converto todo o registro de "nome e senha" do WindowsNT para um arquivo smbpasswd compatvel com o Samba. Este programa pode ser baixado no servidor ftp do samba em: ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exe Aps baixar o programa, execute-o em um prompt MS-DOS da seguinte maneira: pwdump > smbpasswd Ser gerado um arquivo smbpasswd, com as informaes de autenticao (logon e senha) do WindowsNT, no formato criptografado utilizado pelo Samba. Agora, copie este arquivo para o Servidor Samba no diretrio /etc. Aps a copia do arquivo altere as

12 permisses para 600, faa isso da seguinte forma: chmod 600 /etc/smbpasswd Agora, que voc ja possui o arquivo smbpasswd, necessrio que o ID dos usurios sejam o mesmo do arquivo passwd. Voc pode exportar o o nome do usurio, ID, etc, porm no conseguir exportar as senhas. Mas para que o Samba rode sem problemas, no necessrio que o usurio tenha a senha no Unix/Linux. Caso voc queira exportar as senhas, crie um script conforme o quadro abaixo: #!/bin/sh awk 'BEGIN {FS=":" printf("#\n# Unix password file. \n#\n") } { pintf("%s.:*:%s:103:%s:/home/%s:/bin/bash\n", $1,$2,$5,$1)} OBS:. No esquea que este script, deve ser salvo com a exteno .sh , e deve possuir permisso de execuo. Se voc utiliza o shadow, desabilite-o antes de juntar os arquivos, atravs do comando pwunconv. Execute o script acima da seguinte forma: cat /etc/smbpasswd | ./script.sh > passwd-smb aps a execuo do script, execute o seguinte comando: cat passwd-smb >> /etc/passwd

10. Adicionando o SAMBA a um Domnio WindowsNT


Se sua rede j possui um servidor PDC (WindowsNT), e voc quer adicionar um servidor Samba, necessrio configurar o Samba a no utilizar o parmetro domain master, domain logons e o os level deve estar inferior a 65. O nome NetBios do servidor Samba, deve ser adicionado ao PDC do Domnio NT. Como exemplo, utilizarei um servidor Samba como o nome NetBios de "Samba" e o Domnio "Empresa". O PDC ter o nome de "File_Server" com dois controladores de backup com os seguintes nomes "Backup1" e "Backup2". Agora para poder juntar-se ao Domnio, no Servidor Samba execute o seguinte comando: smbpasswd -j EMPRESA -r File_Server se o comando foi bem sucedido, aprecer a mensagem: smbpasswd: Joined domain EMPRESA O comando acima ativa o protocolo de mudana de senhas, gerando uma nova conta aleatria para o servidor Samba, que geralmente ficar guardada em: /usr/local/samba/private . O nome do arquivo ser semelhante a: EMPRESA.Samba.mac.

13 Em seguida edite o arquivo smb.conf e inclua os seguintes parmetros na seo [global]. security = domain workgroup = EMPRESA encrypt passwords = yes password server = File_Server Backup1 Backup2 Reinicie o Samba para que as mudanas tenham efeito.

11. Configurando o SAMBA remotamente


O Samba permite que a sua configurao seja feita remotamente, geralmente usa-se um programa que trabalha via http. Esses programas permitem o acesso atravs da rede interna ou at mesmo via Internet. Existem dois principais programas que so o SWAT (que trabalha na porta 901) e o Linuxconf. Para maiores detalhes acesse: http://us4.samba.org/samba/GUI

12. Adicionando Usurios ao SAMBA


Adicionar um novo usurio ao Samba, necessrio que o mesmo esteja criado no linux(unix). Para cri-lo no linux, voc utiliza o comando: adduser <nome-do-usurio> -g <nome-do-grupo> passwd <nome-do-usurio> Aps a criao do usurio no linux, deve-se adicionar o usurio, no arquivo de configurao do samba /etc/smb.conf. Em seguida, reinicie o Samba. Agora basta adicionar o usurio, no Samba, com o comando: smbadduser <nome-do-usurio>:<nome-do-grupo-no-samba> smbpasswd <nome-o-usurio> OBS.: O nome do usurio no deve ultrapassar 8 dgitos, devido a problemas na hora de login nas estaes Windows

13. Componentes do SAMBA 13.1. smbtar


Com o comando smbtar, possvel fazer backups de diretrios compartilhados, inclusive de estaes (mesmo se o sistema operacional dessa esto for Windows) da rede. Para fazer backup de estaes utilize a sintaxe abaixo: smbtar -s host -p senha -x compa Backup1rtilhamento -d pasta -t fita(.tar)

14 como exemplo de utilizao do smbtar, vamos criar um arquivo chamado backup.tar, no qual ser o backup de //servidor1/pasta1 smbtar -s servi =dor1 -x pasta1 -d * -t backup.tar para conferir se o arquivo criado est correto, digite: tar -tvf backup.tar Para fazer backup em fitas, voc pode especificar /dev/st0 na saida do comando smbtar.

13.2. smbpasswd
O smbpasswd, permite que as estaes troquem suas senhas de logon. O seu funcionamento bem parecido ao do passwd. Para que o seu funcionamento ocorra sem problemas, necessrio que o Samba esteja configurado para utilizar senhas criptografadas. Para fazer backup em fitas, voc pode especificar /dev/st0 na saida do comando smbtar.

13.3. smbstatus
Este comando utilizado para verificar a atual situao das conexes do Samba. No quadro abaixo est uma lista das opes aceitas pelo smbstatus. -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 configurao que deve ser especificado aps a opo. -u - Lista as informaes relevantes sobre o usurio, que deve ser especificado aps a opo.

13.4. testprns
O testprns verifica o nome da impressora junto ao smbd, verificando se um nome vlido. Ativa-se da seguinte maneira: testprns <nome_impressora>

15

14. Exemplo de Configurao do arquivo SMB.CONF


[global] comment = Servidor Samba workgroup = bruno security = server os level = 100 announce as = Samba Server domain logons = yes logon script = %U.bat logon path = //%L/profiles/%U domain master = yes local master = yes guest account = nobody encrypt passwords = yes log file = /var/log/samba_log.%U null passwords = no socket options = IPTOS_LOWDELAY TCP_NODELAY printing = bsd printcap name = /etc/printcap load printers = yes hosts allow = 192.168.202. server string = Servidor de Rede Principal map to guest = never password level = 0 preferred master = yes wins support = no dead time = 0 debug level = 0 unix password sync = yes netbios name = SRVSamba admin user = bruno max disk size = 800 [homes] comment = Pasta dos usurios public = no browseable = yes writeable = yes [printers] comment = Impressoras Linux public = no browseable = yes printable = yes read only = yes create mode = 0700 path = /var/spool/samba [netlogon]

16 comment = Compartilhamento de Scripts path = /etc/scripts public = no browseable = no writeable = no logon script = %U.bat logon path = //%L/profiles/%U domain logons = yes [RH] comment = Grupo de Trabalho do RH path = /home/RH public = no browseable = yes valid users = bruno writeable = yes write list = bruno force create mode = 0777 force directory mode = 0777 guest only = no

Você também pode gostar