SambaUploaded by Thiago CapaverdeRelated InterestsServer (Computing)LinuxMicrosoft WindowsComputer NetworkingComputer NetworkRating and Stats0.0 (0)Document ActionsDownloadShare or Embed DocumentEmbedView MoreCopyright: Attribution Non-Commercial (BY-NC)List price: $0.00Download as DOC, PDF, TXT or read online from ScribdFlag for inappropriate contentGuia Foca GNU/Linux Capítulo 18 - SAMBAEste capítulo descreve a configuração, utilização, aplicação, integração de redes Windows e Linux através do SAMBA. Entre as explicações de cada opção, são passados detalhes importantes relacionados com seu funcionamento, performance e impactos de segurança sobre o servidor como um todo. Uma seção foi especialmente separada para os mais paranóicos (como eu) conhecerem, combinar e aplicar as restrições de forma mais adequada a configuração da máquina.
Andrew Tridgell - Desenvolveu o samba porque precisava montar um volume Unix em sua máquina DOS. Inicialmente ele utilizava o NFS, mas um aplicativo precisava de suporte NetBIOS. Andrew então utilizou um método muito avançado usado por administradores para detectar problemas: escreveu um sniffer de pacotes que atendesse aos requerimentos para ter uma única função: analisar e auxilia-lo a interpretar todo o tráfego NetBIOS da rede. Ele escreveu o primeiro código que fez o servidor Unix aparecer como um servidor de arquivos Windows para sua máquina DOS que foi publicado mais ou menos em meados de 1992 quando também começou a receber patches. Satisfeito com o funcionamento de seu trabalho, deixou seu trabalho de lado por quase 2 anos. Um dia, ele resolveu testar a máquina Windows de sua esposa com sua máquina Linux, e ficou maravilhado com o funcionamento do programa que criou e veio a descobrir que o protocolo era documentado e resolveu levar este trabalho a fundo melhorando e implementando novas funções. O SAMBA atualmente é um servidor fundamental para a migração de pequenos grupos de trabalho à grandes domínios com clientes mixtos. Nenhum servidor de rede NetBEUI conhecido proporciona tanta flexibilidade de acesso a clientes como o SAMBA para compartilhamento de arquivos/impressão em rede. As funções de segurança que foram adicionadas ao SAMBA hoje garantem um controle mais rigoroso que a própria implementação usada no Windows NT, incluindo o serviços de diretórios, mapeamento entre IDs de usuários Windows com Linux, PDC,
perfis móveis e uma coisa que inclusive apresenta problemas no Windows: compatibilidade total entre as diferentes implementações de versões do Windows. Sua configuração pode receber ajustes finos pelo administrador nos soquetes TCP de transmissão, recepção, cache por compartilhamento, configurações físicas que afetam a performance de rede. Seu código vem sendo melhorado constantemente por hackers, obtendo excelente performance com hardwares mais obsoletos. O guia tem por objetivo abordar estes temas e permitir que você configure seu sistema com uma performance batendo a mesma alcançada em um servidor NT dedicado.
Para contribuir com o desenvolvimento do samba, veja os detalhes na página: http://us1.samba.org/samba/devel/ Caso encontre um bug no programa, ele poderá ser relatado se inscrevendo na lista de discussão samba-technicalrequest@lists.samba.org. Após responder a mensagem de confirmação, envie um relato detalhado do problema encontrado no programa.
Segue abaixo algumas funcionalidades importantes de aplicações do samba e seu conjunto de ferramentas: • Compartilhamento de arquivos entre máquinas Windows e Linux ou de máquinas Linux (sendo o servidor SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2, LanManager, etc). • Montar um servidor de compartilhamento de impressão no Linux que receberá a impressão de outras máquinas Windows da rede. • Controle de acesso aos recursos compartilhados no servidor através de diversos métodos (compartilhamento, usuário, domínio, servidor). • Controle de acesso leitura/gravação por compartilhamento. • Controle de acesso de leitura/gravação por usuário autenticado. • Possibilidade de definir contas de "Convidados", que podem se conectar sem fornecer senha. • Possibilidade de uso do banco de dados de senha do sistema (/etc/passwd), autenticação usando o arquivo de dados criptografados do samba, LDAP, PAM, etc. • Controle de cache e opções de tunning por compartilhamento. • Permite ocultar o conteúdo de determinados diretórios que não quer que sejam exibidos ao usuário de forma fácil. • Possui configuração bastante flexível com relação ao mapeamento de nomes DOS => UNIX e vice versa, página de código, acentuação, etc. • Permite o uso de aliases na rede para identificar uma máquina com outro nome e simular uma rede NetBIOS virtual. • O samba possibilita ajuste fino nas configurações de transmissão e recepção dos pacotes TCP/IP, como forma de garantir a melhor performance possível de acordo com suas instalações. • Permite o uso do gerenciador de mensagem do Linux (Linpopup) para a troca de mensagens com estações Windows via NetBios. Com a flexibilidade do samba é possível até redirecionar a mensagem recebida via e-mail ou pager. • Possui suporte completo a servidor WINS (também chamado de NBNS - NetBios Name Service) de rede. A configuração é bastante fácil. • Faz auditoria tanto dos acessos a pesquisa de nomes na rede como acesso a compartilhamentos. Entre os detalhes salvos estão a data de acesso, IP de origem, etc.
• Suporte completo a controlador de domínio Windows (PDC). • Suporte quase completo a backup do controlador de domínio (BDC). Até a versão 2.2 do samba, o suporte a BDC é parcial. Este código provavelmente estará estável até a versão 3.0. • Permite montar unidades mapeadas de sistemas Windows ou outros servidores Linux como um diretório no Linux. • Permite a configuração de recursos simples através de programas de configuração gráficos, tanto via sistema, como via web. • Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao compartilhamento é finalizado. • Com um pouco de conhecimento e habilidade de administração de sistemas Linux, é possível criar ambientes de auditoria e monitoração até monitoração de acesso a compartilhamento em tempo real. • Entre outras possibilidades.
Pacote samba Outros utilitários importantes para a operação do clientes samba. • smbclient - Ferramenta para navegação e gerenciamento de arquivos, diretórios e impressoras compartilhados por servidores Windows ou samba. • smbfs - Pacote que possui ferramentas para o mapeamento de arquivos e diretórios compartilhados por servidores Windows ou samba em um diretório local. • winbind - Daemon que resolve nomes de usuários e grupo através de um servidor NT/SAMBA e mapeia os UIDs/GIDs deste servidor como usuários locais.
d/samba start.2 e Restringindo o acesso por interface de rede.allow e hosts. O valor padrão é /var/log/samba -n [nomeNetBIOS]
.1. No caso de acesso a um compartilhamento. ambos os daemons nmbd e smbd são carregados. Seção 18. Não é necessário reiniciar o serviço smbd.conf a cada acesso do cliente a um compartilhamento. Para reiniciar o samba digite killall -HUP nmbd. Quando o samba opera via inetd. Por padrão o /etc/samba/smb. Para iniciar o samba em modo daemon digite: /etc/init.12. daemon Quando opera no modo daemon. Seção 18. o smbd será carregado e lerá a configuração em smb. que podem ir de 0 a 10.nmbd. O valor padrão é 0. conforme foi explicado acima.deny. pois isto garantirá uma disponibilidade maior do serviço caso algo aconteça com um dos processos.9 Iniciando o servidor/reiniciando/recarregando a configuração
O servidor samba pode ser executado tanto via inetd como daemon: inetd No modo inetd. Veja Restringindo o acesso por IP/rede. -l [diretório] Especifica a localização do diretório onde o nmbd gravará o arquivo de log log. Se desejar mudar do modo daemon para inetd ou vice versa.10 Opções de linha de comando
Opções de linha de comando usadas pelo nmbd: -H [arquivo_lmhosts] Quando especificado. é aconselhável que execute sempre que possível via inetd. é criado um processo filho do smbd que é finalizado assim que o compartilhamento não for mais usado. -d [num] Especifica o nível de depuração do nmbd. o servidor de nomes nmbd será carregado assim que for feita a primeira requisição de pesquisa e ficará residente na memória.12.conf é usado.1.18.3 para detalhes de como fazer o controle de acesso.d/samba restart. OBS: Como praticamente não existe diferença entre os modos de operação inetd e daemon para o SAMBA. para interromper o samba: /etc/init. edite o arquivo /etc/default/samba e modifique o valor da linha RUN_MODE= para daemons ou inetd. Uma forma de fazer isso automaticamente é executando o dpkg-reconfigure samba. No caso de um acesso a compartilhamento. ele não usa o controle de acesso dos arquivos hosts. o servidor samba fará a procura de nomes primeiro neste arquivo e depois usando a rede.d/samba stop e para reiniciar: /etc/init.
18. -s [arquivo_cfg] Especifica uma nova localização para o arquivo de configuração do samba.
2. este nome deve ser único na rede e permite que outras máquinas acessem os recursos disponibilizados ou que sejam enviadas mensagens para a máquina.3 e Programas de navegação gráficos.1) para detalhes. Seção 18. O Lan Manager.14. Este nome é composto de 16 caracteres.2. normalmente usando segurança a nível de compartilhamento.2.4 para detalhes passo a passo e exemplos práticos.2.9. veja Configuração em Grupo de Trabalho.Permite utilizar o nome NetBIOS especificado a invés do especificado no arquivo smb. Windows for Workgroups.2. XP Home Edition usam este nível de acesso por padrão. Se deseja configurar uma rede usando o nível de grupo de trabalho. as máquinas que pertencem ao grupo de redes serão agrupadas no programa de navegação:
redes gleydson tecnico marcelo henrique michelle rh mrpaoduro web web1 web2 web3 comunicacao comunic1 comunic2 comunic3
A segurança no acesso a arquivos e diretórios na configuração de grupo de trabalho é controlada pela própria máquina. rh. Seção 18. O nome de máquina é especificado nas diretivas netbios name e netbios aliases (veja Nomes e grupos de trabalho. sendo 15 que identificam a máquina e o último o tipo de serviço que ela disponibiliza.1 Nome de máquina (nome NetBios)
Toda a máquina em uma rede NetBEUI é identificada por um nome. O tipo de serviço é associado com o nome da máquina e registrado em servidores de nomes confirme a configuração da máquina (você verá isto mais adiante).14.
18.14. nmblookup.
18. Seção 18. facilitando sua pesquisa e localização. Seção 18.2. Esta segurança funciona definindo um usuário/senha para acessar cada compartilhamento que a máquina possui.5.2 Grupo de trabalho
O grupo de trabalho organiza a estrutura de máquinas da rede em forma de árvore. Os programas para navegação na rede NetBIOS são mostrados em smbclient.9.2 Conceitos gerais para a configuração do SAMBA
Este capítulo documenta como configurar o seu servidor SAMBA permitindo o acesso a compartilhamento de arquivos e impressão no sistema. redes.conf para identificar o computador na rede. web.8. Windows 98. Windows 95. Seção 18.
. Tomemos como exemplo uma empresa grande com os departamentos comunicação.
fazer logon de máquinas no domínio (Uma breve introdução a um Domínio de rede.12 para aprender os métodos de como fazer isto).18. A função de navegação na rede é feita utilizando o compartilhamento IPC$.12). ou a navegação de recursos no sistema (ou na rede.4). é necessário especificar esta ID de usuário através do parâmetro guest account (Descrição de parâmetros usados em compartilhamento. Este compartilhamento possui acesso público somente leitura e utiliza o usuário "guest" para disponibilização de seus.4 Compartilhamento
Um compartilhamento é um recurso da máquina local que é disponibilizado para acesso via rede. etc. Como deve ter percebido. monitoração de acessos. Seção 18. e ter controle de acesso de leitura/gravação. é necessário que ele seja compartilhado na outra máquina (veja Compartilhamento. interfaces. Seção 18.
18. O guia Foca Linux abordará estes assuntos com detalhes e explicará didaticamente como tornar seguro seu servidor samba e garantir um minucioso controle de acesso a seus compartilhamentos.2. Seção 18. Seção 18. O compartilhamento pode ser um diretório. script de logon que poderá ser executado em cada máquina para fazer ajustes. permissões de visualização.1.2.7. etc.2.
. diretórios ocultos. autenticação via PDC (domínio) e outras formas para restringir e garantir segurança na disponibilização dos dados (veja Controle de acesso ao servidor SAMBA. que poderá ser mapeada (veja Mapeamento.3. ou mapeado por uma máquina Linux no diretório /mnt/samba.1). participando de eleições NetBIOS (Níveis de sistema para eleição de rede.9). Para mapear algum recurso de rede. impressora. Seção 18. Além de permitir o acesso do usuário. O programa responsável por mapear unidades compartilhadas no Linux é o smbmount e smbclient (veja Linux.5) por outra máquina. OBS: A função de navegação (browsing) poderá não funcionar corretamente caso a máquina não consiga resolver nomes NetBIOS para endereços IP. Seção 18.5 Mapeamento
Mapear significa pegar um diretório/arquivo/impressora compartilhado por alguma máquina da rede para ser acessada pela máquina local.14. o compartilhamento pode ser protegido por senha. dependendo da configuração do SAMBA) não funcionará. arquivo.
18. Um compartilhamento no SAMBA pode ser acessível publicamente (sem senha) ou estar rigidamente protegido tendo que passar por diversas barreiras para chegar ao seu conteúdo. Por exemplo.2. usuário autorizados. Seção 18. endereço de origem.2.
18. Seção 18. o diretório /usr compartilhado com o nome usr.2. sincronismo.3 Domínio
O funcionamento é semelhante ao grupo de trabalho. Estas características para configuração de máquinas em domínio são documentadas passo a passo em Uma breve introdução a um Domínio de rede.2. O PDC (Primary Domain Controller) deverá ter todas as contas de acesso que serão utilizadas pelo usuário para acessar os recursos existentes em outras máquinas.7. como senhas. pode ser mapeado por uma máquina Windows como a unidade F:.2. com a diferença que a segurança é controlada pela máquina central (PDC) usando diretivas de acesso e grupos.6 Navegação na Rede e controle de domínio
Esta função é controlada pelo nmbd que fica ativo o tempo todo disponibilizando os recursos da máquina na rede. manutenção ou qualquer outra tarefa programada pelo administrador do sistema.1).
o grupo de trabalho.conf.7.8. eles são os seguintes: [global] Define configurações que afetam o servidor samba como um todo. Seção 18. Veja Seção [global].9.2. Por exemplo. log. Veja Seção [homes].10. Qualquer outro nome de [seção] no arquivo smb. As seções tem o objetivo de organizar os parâmetros pra que tenham efeito somente em algumas configurações de compartilhamento do servidor (exceto os da seção [global] que não especificam compartilhamentos. fazendo efeito em todos os compartilhamentos existentes na máquina. Seção 18. grupo de trabalho. Quebras de linha pode ser especificadas com uma \ no final da linha. [printers] Define opções gerais para controle das impressoras do sistema. Na configuração de booleanos. Configurações especiais podem ser feitas separadamente. [profile] Define um perfil quando o servidor samba é usado como PDC de domínio. são tratadas como um compartilhamento ou impressora. Durante a configuração. O diretório home é disponibilizado somente para seu dono. mas suas diretivas podem ser válidas para todas os compartilhamentos do arquivo de configuração). a seguinte sintaxe pode ser usada: • 0 ou 1 • yes ou no • true ou false Assim. são tratadas como comentário. Para um exemplo prático. Veja Configurando perfis de usuários. Este compartilhamento mapeia os nomes de todas as impressoras encontradas no /etc/printcap. página de código. você notará o poder da flexibilidade oferecida pelo samba na configuração de um servidor SMB :-) Linhas iniciadas por # ou .conf) é definido por um nome entre "[ ]". Seção 18. nome do servidor. veja um exemplo de arquivo smb. Seção 18. Alguns nomes de seções foram reservados para configurações específicas do samba. Veja Seção [printers].18. Este arquivo é dividido em seções e parâmetros. restrições de acesso por nome.2.2.8. após se autenticar no sistema.15. Um parâmetro é definido no formato nome = valor.conf em Exemplos de configuração do servidor SAMBA.
. tipo de servidor. [homes] Especifica opções de acesso a diretórios homes de usuários. A escolha fica a gosto do administrador. etc.7 Arquivo de configuração do samba
Toda a configuração relacionada com nomes.2. Uma seção no arquivo de configuração do samba (smb. as seguintes configurações são equivalentes
master browse = 0 master browse = no master browse = false
Todos significam "NÃO ser o navegador principal de domínio". compartilhamento de arquivos e impressão do samba é colocada no arquivo de configuração /etc/samba/smb.conf que não sejam as acima. Seção 18.
Os parâmetros especificados nesta seção tem efeito em todo o servidor samba incluindo os compartilhamentos. Caso o parâmetro seja novamente especificado para o compartilhamento, o valor que valerá é o do compartilhamento. Por exemplo, se guest user = nobody for usado na seção [global] e o guest user = foca for usado no compartilhamento [focalinux], o usuário que fará acesso público a todos os compartilhamentos do servidor será o nobody, exceto para o compartilhamento [focalinux], que será feito pelo usuário foca. Veja Compartilhamento de arquivos e diretórios, Seção 18.3 para obter uma lista e descrição dos principais parâmetros de compartilhamentos existentes. Uma lista completa pode ser obtida na página de manual do smb.conf. Irei descrever alguns parâmetros utilizados nesta seção, organizado de forma didática e simplificada.
18.2.8.1 Nomes e grupos de trabalho netbios name = [nome do servidor] Especifica o nome NetBIOS primário do servidor samba. Caso não seja ajustado, ele usará o hostname de sua máquina como valor padrão. Ex.: netbios name = focasamba. workgroup = [grupo de trabalho/domínio] Diz qual o nome do grupo de trabalho/domínio que a máquina samba pertencerá. Ex.: workgroup = focalinux. netbios aliases = [nomes alternativos ao sistema] Permite o uso de nomes alternativos ao servidor, separados por espaços. Ex.: teste1 teste2. server string = [identificação] Identificação enviada do servidor samba para o ambiente de rede. A string padrão é Samba %v (%v é substituída pela versão do samba, para maiores detalhes, veja Variáveis de substituição, Seção 18.2.13). Ex: server string = Servidor Samba versão %v. name resolve order = [ordem] Define a ordem de pesquisa para a resolução de nomes no samba. A ordem padrão é: lmhosts host wins bcast, que é a melhor para resolução rápida e que tente gerar menos tráfego broadcast possível. Veja Resolução de nomes de máquinas no samba, Seção 18.5 para uma explicação mais detalhada.
18.2.8.2 Caracteres e página de código Uma das partes essenciais após colocar o SAMBA em funcionamento, é configurar a página de código para que os caracteres sejam gravados e exibidos corretamente no cliente. A primeira coisa que precisa verificar é se seu kernel possui o suporte a página de código local. Caso não tenha, baixe o fonte do kernel e siga os seguintes passos na configuração:
• Dentro da opção "File Systems", "Network File Systems" defina como "Default Remote NLS Option" a iso8859-1. Esta opção permite ao smbmount montar os volumes locais usando os caracteres corretos. • Entre na opção "File Systems", "Native Language Support". Na opção "Default NLS Option" coloque "iso8859-1". Ative também o suporte as páginas de código 437, 850 e 860 e também ao conjunto de caracteres iso8859-1 e UTF8. Note que esta ordem pode variar dependendo da versão do seu kernel, basta que as entenda para fazer as modificações apropriadas. character set = [conjunto_caracteres] Seleciona o conjunto de caracteres dos arquivos exibidos pelo servidor samba. Para os idiomas de língua latina, sempre utilize iso8859-1. Ex.: character set = iso8859-1. client code page = [pagina_de_codigo] Seleciona a página de código do servidor samba para tratar os caracteres. Para os idiomas de língua latina, sempre utilize 850. Ex.: client code page = 850. preserve case = Seleciona se arquivos com nomes extensos criados serão criados com os caracteres em maiúsculas/minúsculas definidos pelo cliente (no) ou se será usado o valor de default case (caso seja especificado yes). short preserve case = Seleciona se os arquivos com nomes curtos (formato 8.3) serão criados com os caracteres mixtos enviados pelo cliente (no) ou se será usando o valor de default case (caso seja especificado yes). default case = [lower/upper] Define se os arquivos criados terão seus nomes todos em minúsculas (lower) ou maiúsculas (upper). valid chars = [caracteres] Define caracteres válidos nos nomes de arquivos: valid chars =á:Á é:É í:Í ó:Ó ú:Ú â:Â ê:Ê ô:Ô ã:Ã õ:Õ à:À ò:Ò. Este parâmetro DEVERÁ ser sempre especificado depois do client code page, pois caso contrário, eles serão substituídos por estes.
18.2.8.3 Restrições de acesso/mapeamento de usuários guest account = [conta] Define a conta local de usuário que será mapeada quando um usuário se conectar sem senha (usuário guest). Veja mais detalhes em Descrição de parâmetros usados em compartilhamento, Seção 18.3.1. invalid users Define uma lista de usuários que não terão acesso aos recursos do servidor ou compartilhamento. É seguro restringir o acesso samba a usuários com grande poder no sistema (como o root). Veja mais detalhes em
Restringindo o acesso por usuários, Seção 18.12.4. valid users Semelhante a opção invalid users mas permite que somente os usuários especificados tenham acesso ao sistema. Veja mais detalhes em Restringindo o acesso por usuários, Seção 18.12.4. default service = nome Caso o serviço que o usuário deseja se conectar não for encontrado no servidor, o SAMBA mapeará o serviço especificado nesta diretiva como alternativa. A variável "%S" e o caracter "_" podem ser interessantes em algumas alternativas de configuração. A opção default é um sinônimo para esta opção. Caso utilize esta opção, crie o compartilhamento em modo somente leitura e com acesso público, caso contrário (dependendo do planejamento de partições e segurança do sistema de arquivos) a máquina poderá ser derrubada sem dificuldades. username map = [arquivo] Especifica um arquivo que faz o mapeamento entre nomes fornecidos por clientes e nomes de contas Unix locais. Veja Mapeamento de nomes de usuários, Seção 18.12.16 para mais detalhes de como configurar este recurso. obey pam restrictions = yes Indica se as restrições do usuário nos módulos PAM terão efeito também no SAMBA.
18.2.8.4 Níveis de autenticação (esta seção contém algumas explicações que dependem do resto do conteúdo do guia, caso não entenda de imediato a fundo as explicações, recomendo que a leia novamente mais tarde). Define o nível de segurança do servidor. Os seguintes valores são válidos: • share - Usada principalmente quando apenas a senha é enviada por compartilhamento acessado para o servidor, caso muito típico em sistemas Lan Manager e Windows for Workgroups. Mesmo assim o samba tenta mapear para um UID de usuário local do sistema usando os seguintes métodos (retirado da página de manual do samba): • Se o parâmetro guest only é usado no compartilhamento junto com o guest ok, o acesso é imediatamente permitido, sem verificar inclusive a senha. • Caso um nome de usuário seja enviado junto com a senha, ele é utilizado para mapear o UID e aplicar as permissões deste usuário (como acontece no nível de segurança user). • Se ele usou um nome para fazer o logon no Windows este nome será usado como usuário local do SAMBA. Caso ele seja diferente, você deverá usar o mapeamento de nomes para associar o nome remoto do nome local (veja Mapeamento de nomes de usuários, Seção 18.12.16) • O nome do serviço é tentado como nome de usuário. • O nome da máquina NetBios é tentada como nome de usuário • Os usuários especificados na opção user do compartilhamentos são utilizados (veja Descrição de
a conta de usuário será validada em um servidor PDC (controlador de domínio) e o acesso aos recursos das máquinas que fazem parte do domínio será feito a partir do PDC.12.12. porque todos os sistemas a partir do Windows 95 e acima enviam o nome de usuário ao acessar um compartilhamento (caindo na segunda checagem do nível share).7). • Caso já tenha se autenticado anteriormente para acessar o recurso e forneceu a senha correta.A máquina samba tentara autenticar o usuário em outro servidor NT (ou samba). o uso do nível de acesso share é raramente usado. Este é o padrão do SAMBA. • server . No caso da autenticação falhar. Seção 18.Neste nível. • O nome NetBIOS da máquina do cliente e qualquer nome de usuário que foi usado é novamente tentado junto com a senha para tentar permitir o acesso ao recurso compartilhado.Este é o padrão. Seção 18. inclusive se for usado o parâmetro guest only ou user. As senhas criptografadas (encrypt passwords = 1) NÃO funcionarão no nível share.3. Seção 18.1).parâmetros usados em compartilhamento.14.3. veja Ativando o suporte a senhas criptografadas. • É verificado se o serviço é público. a conexão é permitida.3. Seção 18. o acesso só será permitido quando a máquina for adicionada ao domínio com o smbpasswd (Linux. • user . Veja Linux.5 Log de acessos/serviços log file= [arquivo]
. Seção 18.1.3. A mesma conta de usuário/senha deverá ser usada no Windows para acessar seus recursos ou realizado um mapeamento de nomes de usuários (veja Mapeamento de nomes de usuários. então a conexão é feita usando o usuário guest account e ignorando a senha (veja Criando um compartilhamento para acesso sem senha. o nível de segurança share é recomendado para servidores onde TODO o conteúdo deve ter acesso público (seja leitura ou gravação) e o parâmetro guest shares também funciona nativamente. Seção 18.14.8. este nome de usuário é usado. Neste nível de acesso.9). o acesso é permitido. Hoje em dia.2. Entretanto. Seção 18. • Caso nenhum destes métodos acima for satisfeito.8). • domain . • É tentada a checagem com o parâmetro user no compartilhamento (veja Descrição de parâmetros usados em compartilhamento. O usuário precisa ter uma conta de usuário no Linux para acessar seus compartilhamentos. No nível de acesso user o usuário precisa ser autenticado de qualquer forma. será usado o nível de acesso user na base de usuários local (será necessário o arquivo de senhas criptografado do samba para que a autenticação local funcione.16).9 para detalhes. lembrese deste detalhe.
18. Os seguintes passos são usados para autorizar uma conexão usando o nível user (retirado da documentação do SAMBA): • É tentada a validação usando o nome/senha passados pelo cliente. sendo equivalente a usar o nível user. Este nível é bastante usado quando configuramos um servidor de perfis de usuários ou logon separado do PDC. o acesso é NEGADO. Se tudo estiver OK. • Caso o cliente tenha validado o nome/senha com o servidor e o cliente enviou novamente o token de validação.
data/hora (dependendo das outras opções de depuração).
18. Assim terá certeza que o conteúdo não está sendo acessado indevidamente. Os seguintes nomes podem ser usados:
. Ex. O valor padrão é yes.12 para detalhes). O valor padrão é 5000Kb (5MB). O valor padrão é no. o padrão é 32.: /var/log/samba/samba-log-%m.. lock directory = [diretório] Define onde serão gravados os arquivos de lock gerados pelo samba. O nível de depuração 0 é o padrão.2. O valor pode ser de 0 a 255. quais as tentativas de acesso.2. uid. max log size = [tamanho] Especifica o tamanho máximo em Kb do arquivo de log gerado pelo samba.6 Navegação no servidor/tipo de servidor os level=[num] Especifica o nível do sistema operacional.2. debug pid = [valor] Este processo adiciona a pid aos logs gerados pelo processo smbd Isto é útil para depuração caso existam múltiplos processos rodando. debug timestamp = [valor] Ativa ou desativa a gravação de data/hora nos arquivos de log gerados pelo samba.gz. Este número é usado para as eleições netbios para definir o navegador de grupo local e controlador de domínio (veja Níveis de sistema para eleição de rede. Seção 18.log). O valor padrão é no e a opção debug timestamp deve ser yes para esta opção ter efeito. produzindo a lista de todos os compartilhamentos acessados. gerando arquivos como . debug uid = [valor] Este parâmetro inclui o euid.. lotando a tabela de arquivos do diretório e deixando sua máquina em um loop de compactação. O motivo disto é porque se estes logs forem rotacionados pelo logrotate você terá problemas de recompactação múltiplas caso utilize um coringa samba-log-*.13). quem acessou. announce as = [sistema] Selecione o nome que o samba (nmbd) se anunciará na lista de pesquisa de rede. egid. Seção 18. As variáveis de expansão podem ser usadas caso o administrador queira ter um melhor controle dos logs gerados (veja Variáveis de substituição. OBS: Se possível coloque uma extensão no arquivo de log gerado pelo SAMBA (como . debug level = [valor] Aumenta o nível de depuração dos daemons do SAMBA de 0 a 9.gz.8. gid nos arquivos de log.gz. Um nível de depuração interessante e que produz uma quantidade razoável de dados para configuração de um logrotate só para o SAMBA é o 2.Define a localização e nome do arquivo de log gerado pelo samba. Isto permite ao administrador saber exatamente o que está sendo acessado e por quem.
Seção 18.16. Para maior segurança da instalação.Anuncia-se na rede como uma estação Windows 9x.
18.13). Se estiver configurado para "yes". O servidor poderá se tornar garantidamente o navegador principal do domínio se esta opção for usada em conjunto com domain master = 1. Os valores que podem ser especificados são: yes. veja Mapeamento de nomes de usuários. no e auto.2.• NT Server (ou NT) .2. Os valores que podem ser especificados são: yes. Seção 18. Veja Domain Master Browser. Seção 18.7. domain master = [valor] Diz se o servidor tentará se tornar o navegador principal de domínio. O diretório home do usuário poderá ser modificado com o uso de mapeamento de nomes. no. principalmente porque o diretório home do usuário não é um requerimento para a autenticação de usuário. o servidor samba pedirá uma eleição e terá vantagens para ganha-la. O valor padrão é yes. Caso nenhum seja encontrado. Quando o usuário envia seu nome de login como compartilhamento é feita uma busca no arquivo smb. • Win95 ou WfW . isso gera um tráfego grande na rede.
18. Para vencer a eleição. • NT Workstation . o SAMBA utilizará o diretório home do usuário (no /etc/passwd).conf procurando por um nome de compartilhamento que confira. O valor padrão é auto. Veja Local Master Browser. Os valores especificados podem ser yes.Anuncia como Windows NT Server. Este é o padrão. recomendo usar a variável de substituição %S apontando para um diretório com as
.7.2. se tiver um computador NT na rede configure este valor para "no". o padrão é auto. Windows for Workgroups.9 Seção [homes]
Esta seção tem a função especial de disponibilizar o diretório home do usuário.3.8. no e auto. Seção 18. %P e %S (veja Variáveis de substituição. preferred master = [valor] Diz se o servidor samba terá ou não vantagens de ganhar uma eleição local. Você pode utilizar variáveis de substituição. Como esta eleição é feita via broadcasting. é feita uma busca por um nome de usuário correspondente no arquivo /etc/passwd. o diretório de usuário é disponibilizado como um compartilhamento com o mesmo nome do usuário local. pois poderá ocorrer um tráfego alto de broadcasting causado pelas eleições solicitadas pelas outras máquinas.2.Anuncia-se como um NT Workstation. Quando o caminho do compartilhamento não for especificado. exceto %u. local master = [valor] Diz se o servidor participará ou não das eleições para navegador local do grupo de trabalho (workgroup). se um nome conferir e a senha enviada também. Windows NT Server e Windows NT Workstation de uma só vez.12. Desta forma. Note também que o Windows NT não aceita perder as eleições e convoca uma nova eleição caso ele perca. Antes de ajustar este valor para yes. verifique se existem outros servidores NetBIOS em sua rede que tem preferência para se tornar o master principal.7 Outros parâmetros de configuração include Inclui um outro arquivo de configuração na porção atual do arquivo de configuração. o samba precisa ter o valor de os level maior que os demais.
é comum cometer erros de digitação.1). etc. Os parâmetros aceitos em [homes] aqui são os mesmos usados para compartilhamentos normais (veja Descrição de parâmetros usados em compartilhamento.
18. Veja Considerações de segurança com o uso do parâmetro "public = yes". Se deseja. Seção 18. OBS1:Caso nenhum caminho de compartilhamento seja utilizado. existem exemplos em Exemplos de configuração do servidor SAMBA. veja Configurando o Linux como um servidor de impressão Windows.12.2. depois se ele é um nome de usuário (tentando mapear o serviço disponibilizado em [homes]).10 Seção [printers]
Esta seção tem a função de disponibilizar as impressoras existentes no sistema (lp. Ao invés de usar este recurso.15 sobre a seção [homes] no arquivo de configuração. caso contrário todos os diretórios de usuários serão lidos por todos.
18. O guia está com os parâmetros bem organizados em seções específicas.1.11. por exemplo:
[homes] comment = Diretórios de Usuários path=/pub/usuarios/%S
Você apenas terá o trabalho extra de criar os diretórios de usuários que farão acesso ao sistema. Seção 18. É recomendável o uso do testparm para checar a configuração do SAMBA sempre que houver modificações para ter certeza nada comprometa o funcionamento que planejou para sua máquina.3. etc) existentes no /etc/printcap como compartilhamento de sistemas Windows. lp1. Logo após executa-lo.permissões apropriadas configuradas em seu sistema. embora não seja complicado). usar parâmetros em lugares indevidos.2.2. Seção 18. Abaixo segue mais um exemplo de seção [homes]:
[homes] comment = Diretório home de usuários writable = yes public = no invalid users = root nobody @adm follow symlinks = no create mode = 0640 directory mode = 0750
A explicação de cada um dos parâmetros podem ser encontradas em Descrição de parâmetros usados em compartilhamento. lp2.conf Processing section "[homes]" Processing section "[printers]"
. Para usar o testparm é só digitar testparm. apenas de uma olhada para entender com o capítulo do SAMBA foi organizado e não terá dificuldades de se localizar. O método que os nomes de impressoras são pesquisados é idêntico a forma feita para a seção [homes]: Primeiro o nome do compartilhamento é pesquisado como um nome de serviço. o diretório home do usuário será compartilhado. Isto não será nenhum problema após você programar um shell script simples que verifique os nomes de contas em /etc/passwd e crie os diretórios com as permissões/grupos adequados (isso não será abordado por este capítulo do guia. OBS2:Não utilize o parâmetro public yes na seção guest.3. se preferir você poderá compartilhar as impressoras individualmente. depois será verificado a seção [printers]. Para detalhes.11). Seção 18. analise se existem erros nas seções de configuração e te pedirá para pressionar <ENTER> para ver um dump do arquivo:
Load smb config files from /etc/samba/smb.11 Buscando problemas na configuração
Durante o processo de configuração do SAMBA. Seção 18. O utilitário testparm poderá ser usado para verificar problemas no arquivo cd configuração do SAMBA (veja Buscando problemas na configuração.14 para maiores detalhes. Seção 18.1. OBS:É importante lembrar que a seção [printers] DEVE ser definida como printable usando o parâmetro printable = yes para funcionar.
6). Durante este novo processo de eleição. No caso de um servidor que estiver configurado para ser o navegador de rede. Press enter to see a dump of your service definitions
A saída acima indica que está tudo OK com todas as configurações que foram realizadas no servidor. ela solicita quem é o Local Master Browser. Seção 18. quando migramos de servidor NT ou para fornecer mais serviços de navegação. chamado de OS Level (nível de sistema operacional).8.
18. isto garante que o SAMBA sempre vença as eleições da rede sobre qualquer outro sistema operacional. Também é permitido simular o nome NetBIOS que fará acesso a máquina usando o parâmetro -L nome (que será substituído na variável %L). tomando conta da lista de máquinas. O OS Level é um número que é característico de cada sistema operacional ficando entre 0 (mais baixo) e 255. a lista de computadores é atualizada. as novas máquinas são adicionadas e as desligadas saem da lista após 36 minutos. Os níveis de acessos dos sistemas operacionais são os seguintes:
Windows Windows Windows Windows Windows Windows Windows Windows for Workgroups 95 98 98 Second Edition 2000 Server (standalone) 2000 Professional NT 4. vence o que tiver o *maior* número. o desempate é feito usando outros critérios.51 Server Windows NT 4. forçando mais tráfego broadcasting na rede. como servidor WINS.12 Níveis de sistema para eleição de rede
Para selecionar qual sistema NetBIOS será o local master browse ou domain master browse.0 Server Windows 2000 Server (Domain Controller) SAMBA
O valor padrão do OS Level do SAMBA é 32. De meia em meia hora uma nova eleição é feita. o NT é um péssimo perdedor e convoca uma nova eleição para tentar novamente se eleger.Processing section "[tmp]" Processing section "[cdrom]" Loaded services file OK. É possível especificar um outro arquivo de configuração do SAMBA usando testparm /etc/samba/smb2. As regras são as mesmas. Se você for a única máquina de um workgroup. Mesmo que o SAMBA ganhe.conf.2. Este é o motivo porque as máquinas Windows continuam aparecendo no ambiente de rede por algum tempo mesmo depois que desligadas ou porque elas não aparecem de imediato.0 Wks NT 3. Vence a eleição quem tiver o ***maior número***. OBS: Nunca deixe um servidor NT configurado para ser o Local Browser ou Domain Master Browser competir com o SAMBA. gerando um *extremo* tráfego broadcasting em redes grandes. Este número pode ser configurado facilmente no SAMBA para que ele sempre vença as eleições de rede. Quando uma nova máquina entra na rede NetBIOS.51 Wks 1 1 2 2 16 16 17 16 32 33 32 32
. caso nenhuma responda. ela força uma eleição na rede através de uma requisição Broadcasting especial. automaticamente você será o Local Master Browser.2. Caso duas máquinas empatem. assim que for iniciado ele solicitará uma eleição de rede. Isto é especialmente interessante por causa da estabilidade do servidor Linux. é usado um método bastante interessante: o de eleições. entretanto ele é bastante flexível para permitir sua mudança através do parâmetro "os level" (veja Navegação no servidor/tipo de servidor.
etc. %v A versão do Samba. com adições que não estavam presentes na versão original e exemplos. %P O diretório raíz do serviço atual. Seu uso é interessante. Isto é muito útil para log de conexões personalizados e outras coisas úteis.18. %m O nome NetBIOS da máquina do cliente.13 Variáveis de substituição
Esta seção foi baseada nos dados da página de manual do samba. %H O diretório home do usuário. Existem variáveis especiais que podem ser usadas no arquivo de configuração do samba e são substituídas por parâmetros especiais no momento da conexão do usuário. Esta variável é bastante útil para programação de scripts e também para criar arquivos de log personalizados. %g O grupo primário do usuário %u. se aplicável. %G O nome do grupo primário de %U. se existir. %L
. se existir. não é uma regra que ele será sempre o mesmo que ele recebeu). %u O nome de usuário do serviço atual. de acordo com %u.2. Um exemplo de utilização de variáveis de substituição seria mudar a localização do diretório home do usuário:
[homes] comment = Diretório home do usuário path = /home/usuarios/%u
Cada uma das variáveis são descritas em detalhes abaixo: %S O nome do serviço atual. %h O nome DNS da máquina que está executando o Samba. %U O nome de usuário da seção (o nome de usuário solicitado pelo cliente. principalmente no uso de diretórios homes.
%I O endereço IP da máquina do cliente. modo que os dados serão disponibilizados e ítens de performance. mas nada impede que também sejam colocado na seção [global] do arquivo de configuração. O samba atualmente reconhece Samba. LANMAN1.
.map é dividida na forma "%N:%p". %T A data e hora atual.2. O valor retornado pode ser CORE. você poderá saber com qual nome o seu servidor está sendo acessado e possivelmente torna-lo o nome primário de sua máquina. COREPLUS. Seção 18. Se não tiver compilado o SAMBA com a opção --with-automount então este valor será o mesmo de %L.3 Compartilhamento de arquivos e diretórios
Esta seção documenta como disponibilizar arquivos e impressoras com o SAMBA e os parâmetros usados para realizar restrições de compartilhamento. %d A identificação de processo do processo atual do servidor. %$(var_ambiente) Retorna o valor da variável de ambiente especificada.O nome NetBIOS do servidor. %N O nome do seu servidor de diretórios home NIS. Windows NT e Windows 2000. %p O caminho do diretório home do serviço. %R O nível de protocolo selecionado após a negociação.8). A maior parte destes parâmetros são empregados em serviços do SAMBA. Este parâmetro é obtido de uma entrada no seu arquivo auto. Qualquer outra coisa será mostrado como "UNKNOWN" (desconhecido). principalmente quando isto é válido para diversos serviços compartilhados (veja Seção [global]. %a A arquitetura da máquina remota. Como o servidor pode usar mais de um nome no samba (aliases).map. Windows 95. Windows for Workgroups. Somente algumas são reconhecidas e a resposta pode não ser totalmente confiável.map do NIS. A entrada NIS do arquivo auto. obtido de uma entrada mapeada no arquivo auto.
18. LANMAN2 ou NT1. %M O nome DNS da máquina cliente.
mesmo que forneça uma senha correta. desde que o acesso guest seja permitido pela opção public.7.Lista o compartilhamento na janela de pesquisa de servidores. Ex: guest account = sambausr . Ex: path=/pub . Ex: comment=Pasta de conteúdo público do sistema. Caso não tenha a intenção de ocultar o SAMBA na lista de máquinas da rede (fazendo apenas acesso direto aos recursos). Mesmo não sendo exibido. É importante especificar uma nome de usuário guest (convidado). é recomendável que este usuário não tenha acesso login ao sistema.16).Mapeia os usuário se conectando sem senha para o usuário sambausr.12. o compartilhamento poderá ser acessado. Seção 18.12. Por motivos claros. guest account Conta que será usada para fazer acesso sem senha (convidado) quando o parâmetro guest ok ou public forem usados em um compartilhamento.
. O UID que o usuário guest será mapeado é especificado pelo parâmetro guest account). exceto se estiver fazendo mapeamento para outros nomes de usuários (veja Mapeamento de nomes de usuários. OBS: Quando não é definido um path. Veja Criando um compartilhamento invisível. Ex: browseable=yes . browseable Define se o compartilhamento será ou não exibido na janela de procura de rede. O valor padrão é no. principalmente porque seu UID será usado para fazer várias operações no SAMBA. Seção 18. Ex: public = no . Veja Criando um compartilhamento para acesso sem senha. comment Descrição do compartilhamento que será mostrada na janela de procura de rede ou no smbclient -L maquina. O parâmetro guest ok é equivalente a public. Seção 18. O UID do usuário é mapeado para guest. o diretório /tmp é usado como padrão.18.Compartilha o diretório local /pub.1 Descrição de parâmetros usados em compartilhamento
Abaixo o guia traz algumas das opções que podem ser usadas para controlar o comportamento do compartilhamento de arquivos por serviços no servidor SAMBA: path Indica o diretório que será compartilhado. especifique um valor para esta opção.3. Por padrão ela é mapeada para o usuário nobody.12 para uma explicação mais detalhada. public Permitem aos usuários usuários se conectarem ao compartilhamento sem fornecer uma senha usando o usuário guest.12. Lembre-se que o usuário terá as permissões de acesso que ele teria caso estivesse logado no sistema como um usuário UNIX normal.Não permite guest only Permite somente conexões guest ao recurso. como exibir os recursos disponíveis na máquina para a rede.
12. write list Lista de usuários separados por espaço ou vírgula que poderão ler e gravar no compartilhamento.12. Seção 18. @usuarios . O valor padrão é "no". Ex: read list = nobody. OBS: . Ex: user = john @usuariosrede only user Especifica se somente serão permitidas conexões vindas de usuários da diretiva user. o certo é faze-lo usando valid users e invalid users (veja Restringindo o acesso por usuários.
. o arquivo não é bloqueado para acesso exclusivo no servidor mas uma resposta positiva de lock é retornada ao cliente. O uso deste parâmetro ignora o read only = no. Caso deseje restringir o acesso a determinados usuários. Caso seja especificado como "0".O significado de "@" nos parâmetros "invalid users"/"valid users" é diferente das opções write list e read list.12. Veja Excessão de acesso na permissão padrão de compartilhamento. um lock real é feito. Windows for Workgroups e primeira versão do Windows 95) ela será validada no banco de dados de senhas usando o usuário especificado nesta opção. O padrão é no. O uso deste parâmetro ignora o read only = yes. user Especifica um ou mais nomes de usuários ou grupos (caso o nome seja seguido de "@") para checagem de senha. read list Lista de usuários separados por espaço ou vírgula que poderão apenas ler o compartilhamento. o nome especificado será tratado como um grupo UNIX (/etc/group) e todos os usuários daquele grupo terão acesso de gravação. como no write list. Ex: locking = yes available Faz o SAMBA ignorar o compartilhamento (como se tivesse retirado do servidor). locking Permite ao SAMBA fazer um lock real de arquivo ou apenas simular.Permite acesso gravação somente do usuário gleydson e todos os usuários pertencentes ao grupo @usuarios. Seção 18. @usuarios .10 para mais detalhes. operador e todos os usuários pertencentes ao grupo @usuarios.Permite acesso de leitura somente do usuário nobody. O padrão é yes.10 para mais detalhes. system. Seção 18. Quando o cliente somente fornece uma senha (especialmente na rede Lan Manager. Caso o nome for iniciado por "@". Ex: only user = no. Ex: write list = gleydson. operador. O caracter "@" pode ser especificado para fazer referência a grupos. Veja Excessão de acesso na permissão padrão de compartilhamento.Ex: guest only = no. Se definido como "1".4). O uso de only user é apropriado quando é necessário um controle específico de acesso sobre a diretiva user. system.
Ex: create mask = 0600. O padrão é "no". "/win/program files". Ex: read only = yes. A desativação desta opção diminui um pouco a performance de acesso aos arquivos. pois facilita a ocorrência de ataques usando links simbólicos.8. printable Especifica se o compartilhamento é uma impressora (yes) ou um compartilhamento de arquivo/diretório (no). dont descend Não mostra o conteúdo de diretórios especificados. o valor padrão é somente leitura. Seção 18.A desativação desta opção causa um aumento na performance do servidor SAMBA. O parâmetro "create mode" é um sinônimo para este. Ex: wide links = yes. Entretanto. read only Especifica se o compartilhamento é somente para leitura (yes) ou não (no) para todos os usuários. create mask Modo padrão para criação de arquivos no compartilhamento. O modo de diretório deve ser especificado em formato octal. O modo de arquivos deve ser especificado em formato octal. isso já implica desde a escolha de sua distribuição até o conhecimento de permissões e planejamento na implantação do servidor de arquivos. /proc. O valor padrão esta opção é "YES". Ex: dont descend = /root. evitando a chamada de funções do sistema para resolver os links. OBS: . Lembre-se mais uma vez que a segurança do seu sistema começa pela política e uma instalação bem configurada. Veja uma explicação mais detalhada em Criando um compartilhamento com acesso somente leitura. "/win/Arquivos de Programas". o impacto de segurança depende dos dados sendo compartilhados.
. diminui a segurança do seu servidor. Ex: follow symlinks = yes wide links Permite apontar para links simbólicos para fora do compartilhamento exportada pelo SAMBA. O parâmetro "directory mode" é um sinônimo para este. O valor padrão desta opção é "YES". /win/windows.12. Como é restrita a compartilhamento. Por segurança. directory mask Modo padrão para a criação de diretórios no compartilhamento.follow symlinks Permite o uso de links simbólicos no compartilhamento (veja também a opção wide links). só que utiliza as opções invertidas. O parâmetro writable é um antônimo equivalente a este parâmetro.
Ex: write cache size = 384000.12. diminuindo o número de ciclos de processamento para acesso a arquivos/diretórios. disquete ou HD é verificado durante o acesso. Veja Executando comandos antes e após o acesso ao compartilhamento. é recomendada a utilização da configuração de domínio para definição de políticas de acesso mais precisas pelo administrador e para manter o controle sobre os recursos da rede (veja Configurando um servidor PDC no SAMBA.12. Veja Melhorando a performance do compartilhamento/servidor. preexec Executa um comando antes a abertura de um compartilhamento.13.Ex: directory mask = 0700.13. Seção 18. postexec Executa um comando depois da utilização do compartilhamento. write cache size Tamanho do cache de leitura/gravação do compartilhamento. Veja Executando comandos antes e após o acesso ao compartilhamento. Seção 18. Isto é muito útil para instalações onde o serial do CD. O padrão é NÃO herdar permissões. O uso desta opção só faz sentido em conjunto com preexec. O parâmetro exec é um sinônimo para este. volume = nome Retorna o nome de volume especificado quando é feito o acesso ao compartilhamento.13.13 para detalhes sobre seu uso.4 Configuração em Grupo de Trabalho
A configuração grupo de trabalho é o método mais simples para compartilhar recursos em uma rede e também é indicado quando se possui uma rede pequena (até 30 máquinas) pois o gerenciamento não é tão complicado. Exemplo: preexec close = yes. Ex: inherit permissions. Este valor é especificado em bytes e o padrão é "0". Seção 18. directory mask. inherit permissions Permite herdar permissões de arquivos/diretórios do diretório pai quando novos arquivos/diretórios são criados. getwd cache Permite utilizar um cache para acesso as requisições getwd.4).7. Seção 18. isto inclui bits SGID (set group ID). O valor padrão é "Yes". Isto acontece com freqüência em produtos de fabricantes proprietários como forma de evitar a execução ilegal do programa. O uso desta opção substitui as opções fornecidas por create mask. force create mask e force directory mask.12. Veja Executando comandos antes e após o acesso ao compartilhamento.
18. O valor padrão é "no". Acima deste número. preexec close Fecha imediatamente o compartilhamento caso o valor do comando executado pela opção preexec seja diferente de 0. Seção 18.
Seção 18. Seção 18.Pesquisa no servidor WINS especificado pelo parâmetro wins server do smb. O nível de acesso usado neste exemplo é de usuário (security = user).2).8) ou senhas em texto limpo (Ativando o suporte a senhas em texto plano.2.8. Veja abaixo um exemplo explicado de configuração do SAMBA para grupo de trabalho:
[global] netbios name = servidor workgroup = focalinux security = user obey pam restrictions = yes encrypt passwords = no os level = 30 guest account = nobody server string = servidor da rede local master = true domain master = false [homes] comment = Diretórios de usuários create mask= 0700 directory mask = 0700 browseable = no [tmp] path = /tmp comment = Diretório temporário do sistema read only = yes valid users = gleydson public = no
Agora. Eles estão listados em ordem de prioridade do mais para o menos recomendável: • lmhosts .4.5. Seção 18. indicando que a configuração está funcionando corretamente. Seção 18. Seção 18. • bcast .9). Seção 18.1). • wins .2). você pode optar tanto por usar senhas criptografadas (Ativando o suporte a senhas criptografadas.2. para mais detalhes sobre este método. Seção 18.conf (veja WINS.5 Resolução de nomes de máquinas no samba
O Samba pode utiliza os seguintes métodos para resolução de nomes de máquinas na rede (Nome de máquina (nome NetBios). veja Níveis de autenticação.A configuração do nível de acesso por grupo de trabalho tem como características principais essa simplicidade na configuração e o controle de acesso aos recursos sendo feito pela máquina local através de senhas e controle de IP.Faz a pesquisa no arquivo /etc/hosts e no DNS em busca do nome da máquina. Seção 18.1. digite o seguinte comando:
Digite a senha de usuário quando solicitado. O parâmetro local master foi definido para yes para o SAMBA tentar ser o navegador local do grupo de trabalho (veja Local Master Browser. O nome do grupo de trabalho que a máquina pertencerá é focalinux (workgroup = focalinux). • host .
18. Se você é paranóico e está preocupado com a segurança da máquina. Seção 18.1 para detalhes sobre este arquivo). Seção 18.2.5. verifique se existem erros na configuração com o comando testparm (Buscando problemas na configuração. recomendo ler a Controle de acesso ao servidor SAMBA.9). Este geralmente deve ser o último método por gerar tráfego excessivo em uma rede com um considerável número de
.12.Envia um pacote para o endereço de broadcast de sua configuração de rede.7. Quanto ao método de senhas. Para testar se o servidor está funcionando.11) e reinicie o SAMBA (Iniciando o servidor/reiniciando/recarregando a configuração. O comando deverá listar os recuros da máquina.Pesquisa primeiro o arquivo /etc/samba/lmhosts (veja Arquivo /etc/samba/lmhosts.
a máquina não efetuará o logon.sam em seu sistema Windows para compreender seu funcionamento. procura primeiro resolver o nome procurando em arquivos lmhosts. OBS: Note que em clientes Windows que estejam em outra subrede. Dependendo do projeto de sua rede e como as máquinas resolvem os nomes.16.168.1 Arquivo /etc/samba/lmhosts
Este arquivo é um banco de dados que mapeia o endereço IP com o nome NetBIOS de uma máquina.1.5. depois usando dns.
18. A segunda utiliza dois parâmetros adicionais: • #PRE . pode ser modificada usando o parâmetro "name resolve order = [ordem]" no arquivo de configuração do samba (ex. caso contrário.7. Veja o modelo lmhosts. onde o nome da máquina NetBIOS é associada ao IP.
18.0.5 servarq 192. pois a ordem padrão usada para a resolução de nomes do samba.34 servarq 172.0.1 serverpdc #PRE #DOM:dominio 192.2 Exemplo de lmhosts do Windows O arquivo possui uma sintaxe idêntica a do lmhosts do UNIX.30 serverdom 192.2 "serverwins \0x1e" #PRE #INCLUDE \\serverpdc\lmhosts
A primeira entrada do arquivo é a tradicional.168.5. Seção 18.1. é necessário o arquivo \windows\lmhosts apontando para um servidor PDC mesmo que ele esteja apontando para o servidor WINS.4).
. Este arquivo é útil quando temos servidores que são acessados com freqüência.1 gateway
18.0. etc. digite smbclient -d 3 -L localhost e veja o diretório de pesquisa deste arquivo.Faz a entrada ser carregada logo na inicialização e se tornando uma entrada permanente no cache NetBIOS.1. Para ter certeza da localização do arquivo lmhosts em sua máquina.3 servpdc 172.5.5.1. Seção 18.computadores.0. para definir máquinas WINS que serão acessados pela internet. semelhante ao formato do /etc/hosts. wins e broadcast.5.1 Exemplo de lmhosts do UNIX O exemplo abaixo mapeia o endereço IP das máquinas (primeira coluna) com o respectivo nome de máquina (segunda coluna):
172. O formato do arquivo lmhosts do Windows é mais complexo do que o do Linux pois o sistema precisa de mais detalhes para resolver os nomes e tipos de máquinas no domínio.16. name resolve order = lmhosts host wins bcast).168.168. veja Configurando um servidor PDC no SAMBA. Veja um exemplo de arquivo lmhosts em Exemplo de lmhosts do UNIX.0. A ordem que a resolução de nomes é feita pelo samba.2 servwins 172. quando servidores de rede estão em segmentos separados e não temos um servidor WINS entre os dois pontos para resolução de nomes.16. ele pode ser uma camada a mais de segurança contra um simples hijacking de servidor através de NetBEUI ou WINS (isso é evitado com o uso de domínios.0.16. O uso do arquivo lmhosts evita o excesso de broadcasting na rede.0. mas alguns parâmetros especiais são especificados para ajudar o Windows resolver algumas coisas que não consegue fazer sozinho (principalmente com relação a identificação de função de máquinas em redes segmentadas):
O motivo disto é porque o masquerade do Linux atua somente nos cabeçalhos. utilize sempre uma diretiva #PRE para todas as máquinas especificadas na diretiva #INCLUDE em seu arquivo de configuração. Note que ambos #PRE e #DOM devem ser especificados em maiúsculas. componentes do grupo de trabalho ou domínio na rede. O dns proxy permite que o servidor WINS faça a pesquisa no DNS para localização de nomes de máquinas caso não exista no cache.Especifica que a máquina é um controlador de domínio. pois caso contrário isso simplesmente não funcionará. De preferência.conf:
[global] wins support = yes wins proxy = no dns proxy = no max wins ttl = 518400
O parâmetro wins proxy pode ser necessário para alguns clientes antigos que tenham problemas no envio de suas requisições WINS. é necessário manter os 15 caracteres no nome da máquina (preenchendo os restantes com espaços. caso seja preciso). Um servidor WINS pode ser instalado em cada ponta da rede e eles trocarem dados entre si e atualizar suas tabelas de nomes/grupos de trabalhos/IPs. seu servidor samba agora suporta WINS.1 Configurando o servidor WINS Para ativar o servidor WINS no samba.2.5.22. mas o IP da estação é enviada e processada pelo PDC para retornar uma resposta. OBS1: NUNCA configure mais de um servidor WINS em uma mesma rede. Uma outra aplicação importante de um servidor WINS é permitir a resolução de nomes em pontos de redes que requerem roteamento. a simplicidade de um protocolo não roteável como o NetBIOS fica limitada a simplicidade das instalações de rede. Isto só vai ser resolvido quando for escrito um módulo de conntrack para conexões SAMBA (até o lançamento do kernel 2. Quando uma máquina cliente NetBIOS entra na rede. o servidor WINS pega seu nome e IP e inclui em uma tabela para futura consulta pelos clientes da rede. Da mesma forma.2 WINS
Este é um serviço de resolução de nomes que funciona de forma semelhante ao DNS. A resolução de nomes de máquinas será feita consultando diretamente a máquina WINS ao invés de broadcasting (que geram um tráfego alto na rede).
18. O quarto utiliza um include para associar outro arquivo ao atual. Fácil.14. Pronto.
.3 para ver a lista de serviços e sua respectiva função). A máquina deverá ter sido configurada para a função de domínio. este IP é registrado no servidor WINS para uso das estações de trabalho. O último caracter é o código hexadecimal que identifica o serviço de rede (veja nmblookup. só que voltado para o NetBIOS. prático e rápido :-) Se estiver configurando uma subrede com masquerade para acesso a um PDC ou um servidor WINS.
18. Esta tabela consultada toda vez que um cliente NetBIOS solicita um nome de máquina. Seção 18. não se esqueça de converter o arquivo para que contenha o CR+LF no final das linhas.5.4. inclua as seguinte linha na seção [global] do seu arquivo /etc/samba/smb. O terceiro exemplo faz uma referência permanente (#PRE) a máquina servidora WINS serverwins.9. isso ainda não ocorreu).• #DOM .2. OBS: Caso crie este arquivo em um editor de textos do Linux. OBS2: NÃO especifique o parâmetro wins server caso esteja usando o suporte a WINS. Ambas as opções wins support. você terá que mexer no gateway central para apontar uma rota para o gateway masquerade. Para a especificação de ID de serviço manual. Neste exemplo é usada uma característica especial para especificar a ID hexadecimal da máquina na rede 1e. útil quando temos um compartilhamento que distribui um arquivo lmhosts para diversas máquinas na rede. wins proxy e dns proxy tem como valor padrão não.
Não é necessário reiniciar o computador! Windows 9x Clique com o botão direito sobre o ícone Ambiente de Rede e selecione propriedades. Windows. adicione o seguinte parâmetro na seção global do arquivo de configuração /etc/samba/smb.2 Configurando o Cliente WINS Para os clientes da rede (Linux.
18. conseqüentemente mantendo a data/hora das estações também em sincronismo . é necessário configurar para que eles o utilizem para resolver os nomes de máquinas. . você poderá marcar a opção Usar DHCP para resolução WINS. As estações clientes poderão executar o comando net para sincronizar seu relógio durante a inicialização do Windows.168. veja Sincronizando a data/hora no Cliente. caso tenha configurado o servidor samba para logon em domínios NT. Note que esta opção somente estará disponível se escolher a opção Obter um endereço IP automaticamente na tab Endereços IP.conf:
[global] wins server = 192. OBS É recomendável instalar um cliente ntp para manter o relógio do servidor sempre atualizado.6.18. ou durante o logon da rede através do script de logon. Caso o seu servidor SAMBA também seja o servidor de autenticação PDC da rede. Se estiver rodando através de daemons: /etc/init.d/samba restart. reinicie o servidor samba.6 Servidor de data/hora
O samba pode atuar como um servidor de data/hora ajustando o horário de suas estações de trabalho com o servidor da rede.conf:
[global] time server = yes
Para sincronizar a data/hora das estações de trabalho usando o servidor samba. Digite o endereço do servidor WINS e clique em Adicionar. Caso esteja executando o servidor via inetd.5.6.1
. Na janela de configuração de rede clique na aba Configuração. Na lista que aparece selecione o protocolo TCP/IP equivalente a sua placa de rede local e clique em Propriedades.2. digite: killall -HUP nmbd.1 Configuração do serviço de data/hora no SAMBA
Para configurar o samba para atuar como servidor de data/hora de sua rede. OBS: Se utilizar um servidor DHCP em sua rede local e o endereço do servidor WINS também é oferecido através dele. a melhor forma de se fazer isto é colocar o comando net time \\servidor_SAMBA /set /yes em um script que será executado pela estação. OS/2. Na tela de Propriedades TCP/IP clique em Configurações WINS e marque a opção Ativar resolução WINS. etc.) fazer uso das vantagens da resolução de nomes usando o WINS. Clique em OK até fechar todas as telas e reinicie quando o computador perguntar :-)
18.2. Seção 18. Isto é feito da seguinte forma em cada um dos sistemas operacionais: Linux Adicione a linha wins server = ip_do_servidor_WINS na seção global do arquivo /etc/samba/smb.1.
1 Uma breve introdução a um Domínio de rede
Um domínio de rede consiste em uma máquina central chamada de PDC.7. copiando todas as personalizações do seu desktop para qualquer máquina na rede que você faça o logon.Sincroniza a hora com o servidor "\\linux" do grupo de trabalho pinguim (/WORKGROUP:pinguim) e não pede confirmação (/yes). Windows 2000 e Windows XP. ele poderá definir políticas com o Poledit e outros programas que serão salvas junto com o perfil do usuário.2 Sincronizando a data/hora no Cliente
Na estação cliente Windows.7). Você poderá usar perfis móveis.7. • net time \\linux /WORKGROUP:pinguim /set /yes .7. ela começa a receber via broadcasting a lista de recursos compartilhados por cada máquina para montar a lista principal que será retornada para outras máquinas do grupo de trabalho ou outras subredes que solicite os recursos compartilhados por aquele grupo.4. Seção 18. Logo que é declarada o local master browser. siga até Configurando um servidor PDC no SAMBA.
18.18.2 Local Master Browser
É a máquina que ganhou a eleição no segmento local de rede (veja Níveis de sistema para eleição de rede.7.12).7. definindo quais usuários ou grupos terão acesso de leitura/gravação. Exemplos: • net time \\linux /set /yes .6. use o seguinte comando:
Um local interessante para colocação deste comando é na pasta Iniciar da estação Windows.2. É permitido criar scripts de logon.7 Configuração em Domínio
Esta seção descreve todos os passos necessários para configurar um servidor de domínio PDC (Primary Domain Control) com perfis móveis e outros recursos que tornam úteis e seguras a administração de uma rede NetBEUI. valendo para qualquer máquina que ele se autentique na rede (veja Criando Scripts de logon.
18. assim comandos programados pelo administrador serão executados nas máquinas clientes durante o logon no domínio (veja Criando Scripts de logon.7). pois todos os comandos que estejam nesta pasta são executados quando o sistema é iniciado. Seção 18. que mantém o controle de todas as contas de usuários/grupos e permissões para acesso a rede NetBEUI. Isto só é possível em clientes Linux. como vantagem disto você pode usar o nível de acesso por usuários nas máquinas.Sincroniza a hora com o servidor "\\linux" e não pede confirmação (/yes). O acesso desta forma é centralizado. Windows NT. Uma nova eleição é feita a cada 36 minutos ou quando a máquina escolhida é desligada. Se você deseja iniciar logo a configuração do seu domínio.7. Para o administrador.5). O nome da máquina é protegido contra hijacking através de contas de máquinas que fazem parte do domínio (veja Contas de máquinas de domínio. Seção 18. Seção 18.
. Seção 18.
• Na seção [global].7.2.3). Identificação da máquina e domínio netbios name = gleydson workgroup = focalinux . É possível ter mais de um domain master browse. grande parte do guia foi apenas uma revisão (por favor.db
Onde os parâmetros significam: • netbios name = gleydson . Um PDC também é o local master browse de seu próprio segmento de rede.4).9.Nome do domínio que está criando. Caso utilize um servidor WINS em sua rede. desde que cada um controle seu próprio domínio.
. Para os administradores que conhecem através da experiência própria os problemas e definições do SAMBA. • workgroup = focalinux . Seção 18. a única forma será deixar ele ser o domain master browser. Seção 18. siga esta seqüência: • Habilite o suporte a senhas criptografadas. Não sendo possível retirar o Windows NT configurado como PDC do domínio (por alguma outra razão). uma consulta é feita ao servidor WINS para saber quem é o Domain Master Browse da rede para enviar a lista de compartilhamentos. O domínio é identificado pelo caracter 1b na rede (veja nmblookup.7. insira/modifique os seguintes parâmetros:
. mas não é possível ter 2 domain master browsers em um mesmo domínio. terão o nível de acesso definido pelo PDC. se faltou algo que acha interessante. e também o registra como local master para aquele segmento de rede. Este também será o nome usado pelas outras máquinas clientes quando for configurar o PDC (controlador de domínio). Se este for o caso. senhas criptografadas encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd. você poderá continuar lendo este documento para aprender mais sobre NetBIOS e talvez ainda mudar de idéia sobre manter o NT na rede após ver as características do SAMBA .14.3 Domain Master Browser
Quando o local master browse é eleito no segmento de rede.Nome do computador. Caso tenha configurado sua máquina para ser o domain master browser da rede (também chamado de controlador principal de domínio ou PDC).-)
18. leia a seção Ativando o suporte a senhas criptografadas.níveis de acesso e funções do servidor security = user domain master = yes prefered master = yes local master = yes . Caso ainda não tenha feito isso.4 Configurando um servidor PDC no SAMBA
Esta é a parte interessante do guia.8. a prática. me notifiquem que incluirei na próxima versão e colocarei uma nota no lançamento e na página com os devidos créditos :-)) Para configurar uma máquina para ser o PDC (Controladora Principal de Domínio ou Primary Domain Control). OBS: O Windows NT configurado como PDC sempre tenta se tornar o domain master browser em seu grupo de trabalho. o PDC fará consultas constantes em sua base de dados para obter a lista de domínios registrados. Seção 18.18. Todas as máquinas que pertencerem a este domínio. Note que o parâmetro workgroup também é usado ao especificar o nome do grupo de trabalho quando se é usado a configuração grupo de trabalho (Configuração em Grupo de Trabalho. ela tentará se tornar a máquina que terá a lista completa de recursos enviados pelos locais master browsers de cada segmento de rede. A máquina escolhida como Local Master Browse envia pacotes para a porta UDP 138 do Domain Master e este responde pedindo a lista de todos os nomes de máquinas que o local master conhece.
local master = yes .• security = user . Para adicionar seus clientes a um domínio.7.2. Os clientes Windows NT.6. • domain master = yes .Requerido para controle de acesso por domínio. A única forma de resolver este problema. É necessário especificar o caracter $ após o nome da máquina para criar uma conta de máquina no domínio. Pronto.2.5. Seção 18.14. ou seja. este segredo a identifica sempre como dona daquele nome NetBIOS. poderá alocar o nome recém criado. até o primeiro logon no NT. é apagando a conta de
. prefered master = yes .7.Define se a máquina será o controlador principal do grupo de trabalho local que ela pertence.3. Veja Domain Master Browser.7.11) e corrija-os se existir. A única forma de se evitar isto é logar imediatamente no domínio NT assim que criar as contas de máquinas.Força uma eleição com algumas vantagens para seu servidor ser eleito sempre como o controlador de domínio. Seção 18. qualquer máquina que tenha o mesmo nome e entre no domínio. veja Contas de máquinas de domínio.5 e Configurando clientes em Domínio.1 Criando contas de máquinas manualmente Para criar uma conta de domínio para a máquina master. Veja Navegação no servidor/tipo de servidor.6)! como a máquina ainda não se autenticou pela primeira vez. Acredito que nas próximas versões do SAMBA seja desnecessário o uso do arquivo /etc/passwd para a criação de contas de máquina. Note que a criação de uma conta de máquina é muito semelhante a criação de um usuário apenas precisa adicionar a opção -m. ela entra e altera sua senha no próximo logon usando um "segredo" entre ela e o PDC.
18. Seção 18. O mais importante: Entre IMEDIATAMENTE no domínio após criar a conta de máquina usando a conta de administrador de domínio criada no SAMBA (veja Criando uma conta de administrador de domínio.7.5 Contas de máquinas de domínio
Uma conta de máquina de domínio garante que nenhum outro computador possa utilizar o mesmo nome de uma máquina confiável e assim utilizar os compartilhamentos que ela tem permissão. A criação de uma conta de máquina é bastante semelhante a criação da conta de um usuário normal no domínio. Seção 18. Seção 18. agora teste se existem erros em sua configuração executando o comando testparm (Buscando problemas na configuração. Existe uma coisa que precisa sempre ter em mente quando estiver configurando uma conta de máquina de domínio: Quando você cria uma conta para a máquina. certifique-se que não existe outro PDC no domínio. Seção 18.8. Existem duas formas para criação de contas de máquinas: manual e automática.7. já que é utilizado o controle de acesso local usando usuários e grupos locais. Windows XP e Windows 2000 precisam de uma conta de máquina para ter acesso ao domínio e seus recursos. Isto garante que a máquina SAMBA sempre seja o PDC. siga estes 2 passos: • Crie uma conta de máquina no arquivo /etc/passwd:
O comando acima cria uma conta para a máquina master$ e torna ela parte do grupo domainmac. outra máquina com o mesmo nome NetBIOS poderá ser a dona do netbios naquele domínio caso faça o logon no domínio.Especifica se está máquina está sendo configurada para ser o PDC da rede.
18. • Crie uma conta de máquina no arquivo /etc/samba/smbpasswd:
Isto cria uma conta de máquina para o computador master no arquivo /etc/samba/smbpasswd. Quando for criar uma conta com o smbpasswd Não é necessário especificar $ no final do nome da máquina. caso contrário o próximo passo irá falhar. Resta agora reiniciar o servidor nmbd para que todas as suas alterações tenham efeito.3. OBS: Por favor.
as máquinas clientes terão sua conta criada automaticamente assim que seja feita a entrada no domínio usando a conta do administrador de domínio no SAMBA.3 para colocar seus clientes em domínio. OBS3: Os que tem experiência com NT e Windows 2000 devem ter notado que este método é semelhante ao do Server Manager das ferramentas de gerenciamentos de servidores existentes no Windows. a conta de máquina será automaticamente criada quando o administrador fizer sua configuração no domínio (veja Criando uma conta de administrador de domínio. Seção 18. recomendo desativar a conta de máquina no /etc/passwd usando o comando passwd -l conta. OBS2: A localização do arquivo de senhas criptografadas do SAMBA pode ser modificado através da opção smb passwd file na seção [global] do arquivo smb. Para fazer a configuração automática.6). No SAMBA 3. O parâmetro admin users permite que todas as operações realizadas pelo usuário sejam feitas com poderes de usuário root.7. Este é o método recomendável de colocação de máquinas no domínio por ser mais prática ao invés do método manual.máquina e criando-a novamente no domínio. isto deixa nossa configuração um pouco mais restrita. Siga os passos de acordo com o sistema operacional em Configurando clientes em Domínio.7.3) entre outras tarefas. Seção 18. Por exemplo.2 Criando contas de máquinas automaticamente Através deste método. recomendo que coloque esta conta no invalid users de cada compartilhamento para que seja utilizada somente para fins de gerenciamento de máquinas no domínio.conf.0.
18. Para especificar que contas de usuários do arquivo /etc/samba/smbpasswd que terão poderes administrativos. etc.7. adicionar e remover máquina que compõem o domínio.5. OBS1: Tenha SEMPRE bastante cuidado com quem dará poderes de administrador de domínio. OBS1: Como segurança.
18.14. devendo ser criadas contas de máquinas usando o método manual. para tornar o usuário gleydson com privilégios para adicionar/remover máquinas no domínio:
[global] . Seção 18. Isto é necessário porque o arquivo smbpasswd (usado para ajustar as contas de máquinas) normalmente tem permissões de leitura/gravação somente para root. pois toda sua rede poderá ficar vulnerável caso os cuidados de administração não estejam em boas mãos.conf na seção [global]:
Assim.6 Criando uma conta de administrador de domínio
A conta de administrador do domínio é a conta que tem permissões para realizar operações de manutenção e administração de máquinas que compõem o domínio de rede.14. OBS2: Em versões antigas do SAMBA. tenha consciência do nível de acesso que esta conta possui e dos problemas que pode causar caso caia em mãos erradas). somente o usuário root tem poderes para adicionar máquinas no domínio
.conf. Por segurança. O domain admin group permite que usuários específicos ou usuários do grupo especificado sejam parte do grupo de administradores do domínio para adicionar máquinas. Note que normalmente isto funciona para o WinXP e Win2000 mas não funciona em redes com o NT4. admin users = gleydson ou domain admin group = @admins gleydson
Isto permite que o usuário gleydson possa adicionar/remover máquinas do domínio NT (veja Configurando clientes em Domínio. Esta conta NUNCA deverá ser usada para login. a opção add machine script deverá ser usada no lugar de add user script para adicionar uma máquina no domínio. coloque a seguinte linha no arquivo smb. entre outras coisas. a menos que deseje ter acesso total aos compartilhamentos do servidor (nesse caso.. utilize a opção domain admin group ou admin users na seção [global] do arquivo /etc/samba/smb.. Com ela é possível.
7. será necessário executar o programa flip (flip -m -b arquivo) ou unix2dos no arquivo para converte-lo em formato compatível com o DOS. adicione os seguintes parâmetros no arquivo smb. Isto somente é usado por máquinas NT/2000/XP. Os scripts de logon podem ser tanto em formato .conf:
[global] domain logons = yes logon script = logon.bat ou . O guia não irá abordar a programação em linguagem de lote. etc. • logon script .cmd.Deve ser definido para yes para ativar o recurso de logon scripts do SAMBA. ajusta a hora com o servidor e mapeia 2 unidades de disco:
@echo off cls rem Logon Script desenvolvido por Gleydson Mazioli rem da Silva como modelo para o guia Foca GNU/Linux rem rem Este script pode ser utilizado para fins didáticos rem e distribuído livremente de acordo com os termos rem da GPL rem echo "Aguarde enquanto sua máquina efetua" echo "o logon na rede do domínio focalinux. ter os caracteres CR+LF como finalizador de linhas. cópia de arquivos entre servidores. Se for programar um script universal.Define qual é o script que será executado na máquina cliente quando fizer o logon. etc." rem if %OS%==Windows_NT goto NT-2000 rem echo "--------------------------------" echo "SO: %OS%" echo "Usuário: %USERNAME%"
. Para habilitar o recurso de scripts de logon na máquina. Segue abaixo um exemplo de script de logon que detecta quando o cliente é Windows 95/NT.7 Criando Scripts de logon
Uma dos recursos mais úteis em um domínio é a possibilidade de se executar comandos nas máquinas cliente quando fazem o logon no domínio. Desta forma. existem outras formas explicadas no guia de se contornar o risco causado pela liberação de acesso do usuário root. Um detalhe que deve ser lembrado durante a programação do script de logon é que ele DEVE seguir o formato DOS. executar anti-vírus. Para utilizar editores do UNIX para escrever este script.usando o parâmetro domain admins group. Mesmo assim. mapear compartilhamentos automaticamente no clientes. ou seja. é possível instalar programas. Ele deve ser gravado no diretório especificado pela opção path do compartilhamento [netlogon] (/pub/samba/netlogon no exemplo). mas isto é simples de se encontrar na internet e mesmo a documentação que acompanha o próprio Windows é útil. A programação de scripts de logon é feita usando a linguagem em lote do DOS. • logon drive é a unidade de disco que terá o homedir do usuário mapeado.bat por ser compatível tanto com Win9X e WinNT. é recomendável o uso do formato . com possibilidades de usar variáveis de ambiente.cmd [netlogon] path = /pub/samba/netlogon read only = yes write list = ntadmin
Segue a descrição de cada parâmetro com detalhes importantes para a configuração e funcionamento do recurso de logon: • domain logons . devendo ser também adicionado no arquivo smbpasswd para que possa fazer isto e obviamente não deverá estar listado em invalid users.
txt da máquina cliente. Para configurar o recurso de perfis móveis no domínio. Isto é feito após a autenticação copiando os arquivos que contém os dados de personalização de usuários (user.
18. cache do IE.dat. você deverá utilizar a palavra rem (comentário em arquivos em lote) em seu lugar. etc.11. A lista completa de variáveis disponíveis para cada sistema operacional pode ser obtida colocando-se set >c:\vars. é necessário adicionar os seguintes parâmetros no seu arquivo smb. Este processo também inclui a cópia de papéis de parede. Note que existem diferenças entre o comando net do Windows 9x/ME e do NT. ATENÇÃO: Lembre-se que copiar e colar pode não funcionar para este script.dat) para a máquina local.echo "Grupo de Trabalho: %LANGROUP%" echo "Servidor: %DOMINIO%" echo "--------------------------------" echo "Recuperando compartilhamentos" rem mapeia o compartilhamento publico definido no servidor net use e: \\gleydson\publico echo "Sincronizando data/hora" rem sincroniza a data/hora com o servidor net time \\gleydson /set /yes goto fim rem rem :NT-2000 echo "--------------------------------" echo "SO: %OS%" echo "Usuário: %USERNAME%" echo "Windows: %windir%" echo "Logon de domínio: %LOGONSERVER%" echo "--------------------------------" echo "Recuperando compartilhamentos" net use e: \\gleydson\publico /persistent:yes echo "Sincronizando data/hora" net time \\gleydson /set /yes rem rem goto fim rem :fim
Note no exemplo acima que não podem haver linhas em branco. Leia novamente esta seção do guia se estiver em dúvidas. links da área de trabalho. NTuser. as variáveis também possuem um significado diferente entre estes 2 sistemas. lembre-se de faze-lo sempre com \ ao invés de / para não ter incompatibilidade com o Windows 95/3.7. OBS: Caso especifique um computador que contém o script de login. isto explica a necessidade de se incluir um bloco separado detectando a existência de qual sistema está sendo efetuado o logon.txt que gravará uma lista de variáveis disponíveis durante o logon no arquivo c:\vars.8 Configurando perfis de usuários
Os profiles permitem que os clientes utilizem o mesmo perfil em qualquer máquina que ele se autentique na rede.conf:
[global] security = user encrypt passwords = yes domain logons = yes logon drive = H: logon path = \\%N\profilesNT\%u logon home = \\%N\profiles\%u preserve case = yes short preserve case = yes case sensitive = no [profiles]
Note que é possível definir um servidor separado para servir os profiles para um domínio modificando a variável %N para apontar direto para a máquina.path = /pub/profiles read only = no create mask = 0600 directory mask = 0700 [profilesNT] path = /pub/profilesNT read only = no create mask = 0600 directory mask = 0700
Segue a descrição dos parâmetros de detalhes para seu funcionamento: • O parâmetro domain logons = yes especifica que o servidor será usado para fazer logons no domínio. A opção "nt acl support" deverá estar definida para "yes" na seção [global] do arquivo de configuração. Durante o logon. Isto significa que o usuário poderá ter 2 profiles diferentes.7. caso contrário. O parâmetro logon drive somente é usado pelo NT/2000/XP. de acordo com o tipo de sistema operacional cliente que estiver conectando. se for o caso) e a variável %u pelo nome do usuário. • As opções preserve case. O compartilhamento dos 2 profiles pode ser feito sem tantos traumas. • O diretório home do usuário será mapeado para a unidade H: (logon drive = h:).
18. short preserve case e case sensitive permite que os nomes dos arquivos/diretórios tenham as letras maiúsculas/minúsculas mantidas. • logon path e logon home definem (respectivamente) o diretório de logon do /pub/profilesNT/usuario (NT) e /pub/profiles/usuario (Win95) respectivamente. ele retornará um erro de acesso ao compartilhamento. OBS2: Quando utiliza o SAMBA com o Windows 2000 SP2. O sistema operacional de origem é detectado no momento da conexão. a variável %N será substituída pelo nome do servidor (ou servidor de diretórios. caso contrário você não terá acesso para mudar as permissões através de caixas de diálogo do NT. basta definir o nível de segurança por servidor (security = server) e o endereço IP do servidor de senhas (password server = IP). é necessário adicionar a opção nt acl support = no no compartilhamento [profiles].9 Modificações de permissões de acesso pelos clientes do domínio
Um usuário do Windows NT (ou versões baseadas neste) pode modificar as permissões dos arquivos/diretórios que tem acesso através da caixa de diálogo de listas de acesso do NT. verifique se uma destas alternativas está correta. \
. Caso tenha problemas. lembrando que estas permissões nunca substituirão as definidas pelo administrador local. Quando este parâmetro é definido para yes. isto é requerido para os profiles. mas isto não será explicado profundamente no guia pois o procedimento segue o mesmo padrão do NT sendo bastante documentado na internet. Na máquina que armazenará os profiles. a máquina automaticamente tentará ser o PDC. OBS1: Os perfis só funcionam caso o servidor de profiles contenha a opção security = user e encrypt passwords = yes ou security = server e password server = endereço_IP.
. elas são armazenadas no arquivo /etc/samba/smbpasswd ao invés do /etc/passwd. dificultando a captura por outras pessoas. • N . Quando usamos senhas criptografadas. você pode pular para o passo onde o SAMBA é reiniciado (no final dessa lista). Não é recomendável desativar o uso de senhas criptografadas. O utilitário smbpasswd é o programa utilizado para gerenciar este arquivo de senhas e também o status de contas de usuários/máquinas do domínio. Quando utiliza senhas criptografadas. Caso tenha um servidor que já possua muitas contas de usuários acessando em texto plano.Especifica que a conta é uma conta de usuário normal (veja Adicionando usuários no smbpasswd.
Os campos são separados por ":" e cada campo possui o seguinte significado: • O primeiro é o nome de usuário • UID do usuário no sistema UNIX que a conta será mapeada.7). Em versões mais recentes do Windows (a partir da OSR/2 e NT 4 service pack3) o suporte a senhas criptografadas vem habilitado como padrão para login e utilização de serviços da rede. • Opções da conta criada no smbpasswd: • U . Seção 18.1 para facilitar o processo de migração de contas.8 Ativando o suporte a senhas criptografadas
O uso de senhas criptografadas é um requisito quando você deseja configurar o SAMBA para ser um servidor PDC ou um cliente de um domínio. recomendo ler Migrando de senhas texto plano para criptografadas.7. geovani:1004:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:Geovani Mazioli da Silva..8. • Execute o comando mksmbpasswd </etc/passwd >/etc/samba/smbpasswd.2) • D .. isto permite que possamos controlar as permissões de usuários separadamente das do sistema e diferenciar os logins do domínio dos logins do sistema (usuários que possuem shell). Seção 18. Ele pega toda a base de usuários do /etc/passwd e gera um arquivo /etc/samba/smbpasswd contendo as contas destes usuários. todas as contas são DESATIVADAS por segurança quando este novo arquivo é criado. mas se mesmo assim for necessário veja Senhas criptografadas ou em texto puro?.12. Seção 18.. Por padrão. Esta senha é criada pegando a senha do usuário. • Senha Lan Manager codificada em hex 32 criado usando criptografia DES usada pelo Windows 95/98/ME. • Senha hash criada em formato do NT codificada em hex 32. elas trafegam em formato seguro através da rede. não é necessária a criação do arquivo de senhas para autenticação pois os usuários serão validados no servidor.8.Especifica que a conta é uma conta de máquina criada com a opção -m (veja Contas de máquinas de domínio.8.8. Seção 18..A conta não possui senha (veja Definindo acesso sem senha para o usuário. Siga estes passos para ativar o uso de senhas criptografadas no SAMBA: • Edite o arquivo /etc/samba/smb. Caso sua máquina seja apenas um cliente de rede (e não um PDC). convertendo-a para maiúsculas. O novo arquivo terá o seguinte formato:
gleydson:1020:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:Gleydson Mazioli da Silva.Significa que a conta foi desativada com a opção -d (veja Desabilitando uma conta no smbpasswd.15. Seção 18.5).conf e altere as seguintes linhas na seção [global] para adicionar o suporte a senhas criptografadas:
[global] encrypt passwords = true smb passwd file =/etc/samba/smbpasswd
A linha encrypt passwords = true diz para usar senhas criptografadas e que o arquivo /etc/samba/smbpasswd contém as senhas (smb passwd file =/etc/samba/smbpasswd).18.4). Seção 18. • W . adicionados 5 bytes de caracteres nulos e aplicando o algoritmo md4.
pois somente é necessário para fazer o mapeamento de UID/GID de usuários com as permissões do sistema UNIX. O SAMBA para fazer o controle de acesso aos arquivos utiliza além dos mecanismos tradicionais do NT. • Verifique se o suporte a senhas criptografadas está funcionando com o comando:
Substitua localhost pelo IP do servidor e gleydson pelo usuário. O próximo passo é ativar a conta para ser usada pelo SAMBA. é possível fazer um processo de migração de senhas em texto plano de usuários para criptografadas sem que eles deixem de acessar o servidor durante esta mudança. diretório home nem senha para este usuário.8. Apenas tenha cuidado para que esta senha não seja divulgada em seus arquivos/processos. ATENÇÃO: O método de criptografia usado neste arquivo não é totalmente seguro. insira o parâmetro
na seção [global] do seu arquivo de configuração smb. • Crie o usuário "joao" no SAMBA:
Será solicitada a senha do usuário.1. • Para ativar a conta do usuário gleydson.
.8. • Reinicie o processo do SAMBA (veja Iniciando o servidor/reiniciando/recarregando a configuração. • Adicione um usuário no sistema com o comando:
Este comando adiciona o usuário "joao" no grupo grupo-dominio e não define hem uma shell. Assim que a senha for definida.
18. será necessário usuários e grupos para criação e acesso ao sistema. Caso obtenha a mensagem session setup failed: NT_STATUS_LOGON_FAILURE significa que a senha informada está incorreta. Você deve estar se perguntando qual a vantagem de se ter um arquivo separado de usuários se ainda é preciso criar o login nos dois arquivos. Não se esqueça de desativar esta opção ou remove-la após o prazo necessário para que todas as senhas sejam trocadas. e portanto está desativada. usamos o comando:
Digite a senha do usuário e repita para confirmar.1 Migrando de senhas texto plano para criptografadas
No SAMBA. A senha criptografada é definida assim que o usuário se logar usando sua senha em texto plano. Seção 18. Além disso. o controle de permissões a nível UNIX para manter os arquivos ainda mais restritos. É interessante padronizar os usuários criados no domínio para um mesmo grupo para pesquisa e outras coisas.2 Adicionando usuários no smbpasswd
A adição de um usuário no smbpasswd segue duas etapas: primeiro é necessário adiciona-lo no sistema com o adduser e depois no samba com o smbpasswd.
18.Os caracteres "XXXXXXXXXXXXXXX" no campo da senha. a conta do usuário é ativada. indica que a conta foi recém criada. Caso este seja seu caso. Isto mantém o sistema mais seguro e não interfere no funcionamento do SAMBA. Recomendo manter o arquivo de senhas smbpasswd em um diretório com a permissão de leitura somente pelo root. Você também pode especificar a opção "-s" para entrar com a senha pela entrada padrão (muito útil em scripts).conf.9).
3 Removendo usuários do smbpasswd
Utilize o comando smbpasswd -x usuario para remover um usuário do arquivo smbpasswd.6 Alterando a senha de um usuário
O utilitário smbpasswd pode ser usado tanto para alterar a senha de usuários locais do SAMBA ou de uma conta em um servidor remoto (seja SAMBA. etc. dúvida se a conta está sendo usada.8.8. Remover uma conta e novamente adiciona-la então não é uma situação muito prática. uma flag "D" é adicionada às opções do usuário (junto com as opções "UX").8. OBS: Removendo um usuário deste arquivo fará que ele não tenha mais acesso ao SAMBA.
.8. W2K).).-) Para alterar a senha de um usuário remoto.7 Definindo acesso sem senha para o usuário
Para fazer um usuário acessar sem senha.
18. use o comando:
Isto é completamente desencorajado e necessita que a opção null passwords da seção [global] no arquivo smb. Seção 18.8.4 Desabilitando uma conta no smbpasswd
Como administrador. digite:
Lhe será pedida a antiga senha. Utilize o comando smbpasswd -a teste
18.5 para reativar a conta. somente a nova senha e a confirmação. NT.5 Habilitando uma conta no smbpasswd
18. a nova senha e a confirmação. Veja Habilitando uma conta no smbpasswd. você pode manter o usuário no /etc/passwd ou remove-lo com o userdel. A diferença é que a senha antiga do usuário sempre será solicitada para troca (pois o root das 2 máquinas pode não ser o mesmo).18. Caso seja o usuário root. Utilize então o seguinte comando para desativar uma conta de usuário:
Quando a conta de usuário é desativada. pode ser necessário que precise desativar temporariamente uma conta de usuário por alguma situação qualquer (má utilização de recursos. Para alterar a senha de um usuário local.8. utilize:
Note que apenas foi adicionada a opção -r servidor comparado com a opção anterior. Se desejar. para que ele ligue reclamando de autenticação para ter aquela desejada conversa (hehe).
18.conf esteja ajustada para yes (que NÃO é o padrão). Isto é mecanismo de proteção para usuários que esquecem a senha .
9 Ativando o suporte a senhas em texto plano
Esta forma de autenticação é enviada por implementações NetBIOS antigas.1. também é explicado como habilitar novamente a autenticação usando senhas criptografadas (se suportado pelo cliente). Seção 18.1.1.8). Seção 18.7 • Windows 2000.1.
18.1 Configurando o acesso de clientes para uso de senhas em texto plano
Esta seção descreve como configurar clientes para acessar o servidor SAMBA usando autenticação em texto plano. sendo necessário também usar o formato criptografado no SAMBA para que possa se autenticar (veja Ativando o suporte a senhas criptografadas. Seção 18.9.9.1. Atualmente o guia cobre os seguintes clientes: • Lan Manager.1.1 • Windows for Workgroups.4 • Windows 98/98SE.9.15 é feita uma comparação entre o uso de autenticação usando senhas em texto plano e senhas criptografadas.2 • Windows 95 / Windows 95A. Em Senhas criptografadas ou em texto puro?. Seção 18. Para configurar o SAMBA para utilizar senhas em texto.9.6 • Windows NT Server/WorkStation. modifique o parâmetro encrypt passwords para no:
[global] encrypt passwords = no
Reinicie o SAMBA (Iniciando o servidor/reiniciando/recarregando a configuração.9. As versões mais novas destas implementações enviam a senha em formato criptografado. Seção 18. Windows for Workgroups e Windows 95 OSR1.1. OBS: Tenha certeza de não estar participando de um domínio ou que sua máquina seja o PDC antes de fazer esta modificação. Seção 18.2 Windows for Workgroups Este é o padrão de autenticação do Windows for Workgroups caso não tenha feito nenhuma alteração específica (mas desconheço algo que faça-o trabalhar com senhas criptografadas).9) e a partir de agora.5 • Windows ME.9. Em geral.1. Seção 18. Seção 18. como a encontrada no Lan Manager.18.12.1 Lan Manager Cliente NetBIOS para DOS.9.1.9. o administrador prefere a utilização da autenticação usando texto plano quando deseja usar o /etc/passwd para autenticação e está usando grupos de trabalho é necessário usar senhas criptografadas para autenticação).9. ele usará o /etc/passwd para autenticação.1. Ele trabalha somente com senhas em texto plano.
.3 • Windows 95B.9.8 • Linux.9.1.9. Seção 18. Seção 18. Seção 18. Seção 18.9 Em cada seção.
apenas altere o valor dword para 00000000 no arquivo e execute novamente o regedit.reg e reinicie o computador para fazer efeito.1. Seção 18.
18.1.9.reg e reinicie o computador para fazer efeito.9.reg:
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001
Após isto. apenas altere o valor dword para 00000000 no arquivo e executa novamente o regedit. utiliza texto plano como padrão para autenticação (veja qual a release clicando com o botão direito em Meu Computador e Propriedades.7 Windows NT Server/WorkStation Copie o seguinte conteúdo para um arquivo chamado winNT-textoplano. apenas altere o valor dword para 00000000 no arquivo e execute novamente o
REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP] "EnablePlainTextPassword"=dword:00000001
Após isto.9.6 Windows ME O procedimento é idêntico ao Windows 95B. execute no Windows 2000 o seguinte comando: regedit win2000-textoplano.9.4.8 Windows 2000 Copie o seguinte conteúdo para um arquivo chamado win2000-textoplano.
18.reg:
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters] "EnablePlainTextPassword"=dword:00000001
Após isto.1.1.3 Windows 95 / Windows 95A O Windows 95 até a release "A". Para voltar a utilizar criptografia.18. execute no Windows 95 o seguinte comando: regedit win95-textoplano.reg e reinicie o computador para fazer efeito.1. Seção 18.
18.5 Windows 98/98SE O procedimento é idêntico ao Windows 95B.9. execute no Windows NT o seguinte comando: regedit winNT-textoplano.9.1.
18. Para voltar a utilizar criptografia.
18.4.4 Windows 95B Copie o seguinte conteúdo para um arquivo chamado win95-textoplano.9. Para voltar a utilizar criptografia.9.1.1.
18.2 Mapeamento de usuários/grupos domínio em Linux
A associação de UIDs de usuários de um domínio com usuários locais no Linux é feita pelo programa winbind. No Linux as permissões de arquivos e diretórios podem ser definidas para o usuário do PDC. Siga estes passos para fazer sua instalação e configuração do Winbind em um servidor Linux: • Instale o programa winbind: apt-get install winbind. No Windows isto permite que cada arquivo/diretório tenha o acesso leitura/gravação somente para os usuários definidos e autenticados no controlador de domínio.10. Ele utiliza o mecanismo nsswitch para obter outras fontes de dados de usuários e os associa nas ferramentas de gerenciamento de contas existentes no sistema. Esta seção explica como configurar o mapeamento de UID/GID entre o servidor PDC SAMBA e seus clientes NetBIOS Windows e Linux. Seção 18. OBS: Para fazer isto. siga os seguintes passos: Windows 9X Entre no Painel de Controle/Propriedades de Rede e clique na tab Controle de Acesso.conf adicionando as seguintes linhas na seção [global]:
winbind separator = + winbind cache time = 30 winbind uid = 10000-15000 winbind gid = 10000-12000 winbind enum users = yes winbind enum groups = yes template homedir = /home/winbind/%D/%U template shell = /bin/false
. veja Ativando o suporte a senhas criptografadas. Para voltar a utilizar criptografia.conf e reinicie o SAMBA. • Modifique o arquivo smb.
18.10. Você também pode colocar o nome do grupo de trabalho.10 Mapeamento de usuários/grupos em clientes
O mapeamento de usuários do servidor remoto com a máquina local é usado quando você deseja controlar o acesso aos arquivos/diretórios a nível de usuário. garantindo o mesmo nível de controle de acesso. você deverá estar autenticado no domínio. neste caso a máquina fará uma busca pelo PDC ou outra máquina de onde pode obter os nomes de usuários/grupos.regedit. Marque a opção Controle de acesso a nível de usuário e coloque o nome da máquina PDC na caixa de diálogo de onde os usuários/grupos serão obtidos.1 Mapeamento de usuários/grupos domínio em Windows
Para o Windows utilizar os usuários remotos do servidor para fazer seu controle de acesso por nível de usuário.
18.8.9.9 Linux Inclua/modifique a linha encrypt passwords = no no arquivo smb.1.
como pelo LDAP. os IDS de usuários normais na maioria dos sistemas Linux. NIS ou usuários normais. Este parâmetro somente tem sentido quando usado em conjunto com um PDC Windows ou quando os módulos pam_winbind. é utilizando o LDAP ou o NIS no PDC e nos clientes Linux. desta forma os grupos da máquina remota não serão trazidos para o sistema. Você precisará ter certeza que nenhum UID nesse intervalo é usado no sistema. template homedir Quando o sistema cliente for um Windows NT ou baseado.winbind separator Separador usado para separar o nome dos grupos do nome de domínio. Uma forma de contornar isto. você deverá ter certeza que esta faixa de GIDs não está sendo usada em seu sistema. A não ser que possua uma instalação parecida em todas as máquinas (como com o uso de LDAP e NIS) responda "yes" para não ter problemas. winbind cache time Define a quantidade de tempo em segundos que um nome/grupo permanecerá no cache local para não ser feita uma nova consulta no servidor PDC. este diretório será retornado como diretório de usuário para o sistema.so e nss_winbind. O valor usado foi /bin/false pois desabilita os logons. mas você poderá usar /bin/sh (ou algum outro shell) para efetuar conexões do comando net ou outras ferramentas NetBEUI ao servidor. OBS: Atualmente SAMBA não possui suporte a grupos globais. Por padrão. A não ser que possua uma instalação parecida em todas as máquinas (como com o uso de LDAP e NIS) responda "yes" para não ter problemas. winbind enum groups Permite enumerar grupos do winbind para retornarem dados quando solicitados.conf alterando a ordem de pesquisa de nomes de usuários e grupos do sistema local para a seguinte:
. • Reinicie o servidor SAMBA • Edite o arquivo /etc/nsswitch. Como no parâmetro winbind uid. apenas para usuários globais. No exemplo serão usados os UIDs de 10000 a 15000 para mapeamento e UIDs dos usuários do domínio para usuários locais. winbind uid Especifica o intervalo que será usado para mapear os nomes de usuários remotos como UIDs locais. winbind enum users Permite enumerar usuários do winbind para retornarem dados quando solicitados. O parâmetro %D será substituído pelo nome do domínio e %U pelo nome de usuário durante a conexão. winbind gid Especifica o intervalo de GIDs que será usado para mapear os nomes de grupos remotos do domínio como GIDs locais. começam por 1000.so estão sendo utilizados. template shell Este será o shell enviado para máquinas NT ou baseadas nele como shell usado para login.
[hp-printer] path = /tmp printer name=HP DeskJet 690C printable = yes print command = lpr -r -h -P %p %s valid users = winuser winuser2 create mode = 0700
O compartilhamento acima tornará disponível a impressora local "lp" as máquinas Windows com o nome "HP DeskJet 690C".12 Controle de acesso ao servidor SAMBA
Este capítulo documenta o controle de acesso ao servidor samba e restrições. inicie o daemon winbind local com o comando: /etc/init.
18. Note que somente os usuários "winuser" e "winuser2" poderão usar esta impressora. OBS: Atualmente. caso contrário o mapeamento deixará de funcionar.1 Configurando o Linux como um servidor de impressão Windows
Será necessário ter o pacote samba instalado e adicionar as seguintes linhas no seu arquivo /etc/samba/smb.3.d/winbind restart.14. • Entre no domínio com o comando: smbpasswd -j domínio -r nome_do_PDC -U usuario (veja Linux.
18. Agora você deve ser capaz de criar diretórios/arquivos locais usando os nomes de usuários/grupos do domínio. • Agora faça o teste para obter a listagem dos grupos e usuários do domínio do PDC digitando:
wbinfo wbinfo getent getent -u -g passwd group
Caso isto não aconteça.9 para aprender como entrar no domínio em caso de dúvidas).11. assim como entrar novamente no domínio. Lembre-se de reiniciar sempre o winbind quando reiniciar o SAMBA por alguma modificação for feita (ao mesmo que saiba que não afeta o winbind). Agora será necessário instalar o driver desta impressora no Windows (HP 690C) e escolher impressora instalada via rede e seguir os demais passos de configuração. Uma impressora alternativa pode ser especificada modificando a opção -P da linha de comando do lpr.11 Compartilhamento de impressão no servidor SAMBA
Este capítulo documenta como configurar o seu servidor samba para permitir o acesso a compartilhamento de arquivos e impressão no sistema. revise suas configurações e veja os logs procurando por erros quando o winbind tenta obter a lista de usuários/grupos do domínio.passwd: group: shadow:
files winbind files winbind compat
• Agora. Seção 18. Os arquivos de spool (para gerenciar a fila de impressão) serão gravador em /tmp (path = /tmp) e o compartilhamento [hpprinter] será mostrado como uma impressora (printable = yes). Isto deverá ser implementado em uma futura versão
. o winbind não oferece suporte a restrições por data/hora de logon para estações de trabalho.
1.IP com máscara de rede • 192. A palavra chave EXCEPT pode ser usada para fazer excessão de um ou mais endereços IPs.allow e hosts.12. veja O mecanismo de controle de acessos tcpd. o usuário do samba é mapeado com o UID respectivo de usuário do sistema ou o usuário guest (especificado pela opção "guest account") no caso de um acesso público.IP da máquina • servidor .8. Os parâmetros hosts allow e hosts deny são equivalentes a estes acima.1. os arquivos hosts. apenas usa os valores em allow hosts e deny hosts para checagem.20
Que permite o acesso a toda as máquinas da faixa de rede 192.168.168.1.11).1.0/24 exceto para a 192.50:
.1 .Porção de rede sem o host (como no hosts. Este método não falsifica o endereço IP para testes.0/24 .IP com máscara de rede octal • 192.168. um processo filho do smbd é executado sobre o UID e GID deste usuário. por exemplo:
hosts allow = 192.conf IP/host
Você precisará dizer para o testparm qual é o arquivo de configuração que está usando e o endereço IP/nome de host que fará a simulação de acesso.deny.deny são verificados antes do controle e acesso allow hosts e deny hosts para controle de acesso ao smbd. Seção 4. Isto significa que em nenhuma ocasião o SAMBA dará mais permissões que as necessárias para o usuário (com excessão de quando é usado o parâmetro admin users.1 Testando a restrição de Acesso por IP/Redes Um método interessante e útil para testar se a nossa configuração vai bloquear o acesso a serviços é usando o testparm da seguinte forma:
testparm /etc/samba/smb.168.Pesquisa por máquinas no grupo NIS. Quando o allow hosts e deny hosts são usados juntos. para verificar o acesso vindo do IP 192. Caso estiver usando o SAMBA viainetd e deseja restringir o acesso usando TCP Wrappers.Nome da máquina • 192.168. Seção 18.1.0. OBS: O endereço de loopback (127.255. Seção 18. • @nome . Por exemplo.1 Nível de acesso de usuários conectados ao SAMBA
Quando acessa um compartilhamento.255. .
18.allow e hosts.7.1. São permitidos os seguintes métodos para permitir o acesso a uma máquina/rede: • 192.168.168. O allow hosts permite o acesso a máquina especificadas como argumento.0 .3. EXCEPT 192. Quando isto ocorre.6).
18.1.1.12.20.2. Se você está executando o SAMBA via inetd.1.0. O deny hosts possui a mesma sintaxe do allow hosts mas bloqueia o acesso das máquinas especificadas como argumento. É permitido usar mais de um endereço IP separando-os por vírgulas ou espaços.2. as máquinas em allow hosts terão prioridade (processa primeiro as diretivas em allow hosts e depois em deny hosts).0/255. OBS: Lembre-se de usar o testparm para verificar a sintaxe do arquivo smb.168.2 Restringindo o acesso por IP/rede
Esta restrição pode ser feita pelos parâmetros allow hosts e deny hosts tanto em serviços individuais ou em todo o servidor. Provavelmente deve ter notado porque o endereço de loopback não pode ser bloqueado e as conseqüências disto para o SAMBA. veja Criando uma conta de administrador de domínio.12.conf sempre que desconfiar de problemas (veja Buscando problemas na configuração.18.1) nunca é bloqueado pelas diretivas de acesso.168.
4 Restringindo o acesso por usuários
Permite que você controle quem poderá ou não acessar o compartilhamento da máquina. eth*).2/24. Exemplos: invalid users = junior.168.conf 192. • 192.1. 192. no arquivo de grupos do sistema (/etc/group).50 Load smb config files from /etc/samba/smb.1. Quando bind interfaces only estiver ativado. O invalid users lista de usuário que NÃO terão acesso ao compartilhamento.conf (focalinux) Allow connection from /etc/samba/smb.12. Em uma máquina DHCP por exemplo. definir que interfaces serão servidas pelo samba com o parâmetro interfaces.3 Restringindo o acesso por interface de rede
Esta restrição de acesso permite que façamos o SAMBA responder requisições somente para a interfaces indicadas.testparm /etc/samba/smb. Depois.
18.168. sl0. Este controle é feito pelos parâmetros valid users e invalid users. A escolha do uso de nome da interface ou do IP é feita de acordo com a configuração da máquina.1. Mais de uma interface pode ser usada separando-as com vírgula ou espaços. etc . primeiro será necessário ativar o parâmetro bind interfaces only usando 1.2 serão analisadas logo após esta checagem.0 . etc . é recomendado o uso do nome da interface.Um nome de interface local.conf Processing section "[homes]" Processing section "[printers]" Processing section "[tmp]" Processing section "[cdrom]" Loaded services file OK. Os seguintes formatos de interfaces são permitidos: • eth0. O caracter "@" permite fazer a busca do grupo primeiro no banco de dados NIS e caso ele não seja encontrado. pois como notou durante a leitura.Um endereço IP de interface local.168. Seção 18. plip0.
. É possível usar a combinação de caracteres "+&" e "&+" para alternar a ordem de busca enter o /etc/group e o NIS.12. yes ou true (o padrão é desativado). marcio.168.1. Para restringir o serviço SAMBA a interfaces.2.255.Um par de endereço/máscara de rede. 192.255. sempre é permitida a conexão) e eth0.conf (focalinux) Allow connection from /etc/samba/smb. É permitido o uso de * para fazer o SAMBA monitorar todas as interfaces que iniciam com aquele nome (por exemplo.1.168. O caracter "&" faz ele pesquisar o nome de grupo no banco de dados NIS. Exemplo:
bind interfaces only = 1 interfaces = loopback eth0
Permite o recebimento de requisições de acesso ao SAMBA somente da interface loopback (desnecessário. Se o nome for iniciado por "+" o parâmetro será tratado como um nome de grupo UNIX (/etc/group). Allow connection from /etc/samba/smb. o padrão é esperar conexões em todas as interfaces que permitem broadcast exceto a loopback. +badusers Não permite que os usuários especificados e os usuários do grupo +badusers tenham acesso ao compartilhamento. • 192.1.2/255.conf (focalinux)
homes printers tmp cdrom
18.12. O método de segurança descrito em Restringindo o acesso por IP/rede.conf (focalinux) Allow connection from /etc/samba/smb.
invalid users = @semacesso Bloqueia o acesso dos usuários que pertencem ao grupo "semacesso". Seção 19. +@users. Caso a opção valid users não seja especificada ou a lista esteja vazia. Se um mesmo nome de usuário estiver na lista valid users e invalid users. O valid users possui a mesma sintaxe de funcionamento do invalid users.7 Criando um compartilhamento para acesso sem senha
Em algumas situações (mesmo em instalações seguras) é preciso tornar um compartilhamento acessível publicamente. etc. arquivos comuns. um diretório temporário. a máquina poderá ter acesso a todos os recursos do compartilhamento e não é complicado fazer um ataque usando DNS spoofing.7). o acesso é permitido. mas permite somente o acesso para os usuários/grupos listados. Não existe motivo para usar senhas em branco em um controle de acesso por usuário. ISTO É TOTALMENTE INSEGURO e deve ser sempre evitado. a não ser que precise testar algo realmente temporário e que depurando algo no SAMBA. henrique. Isto pode se tornar um *ENORME* buraco na segurança do seu sistema. se realmente não existe nenhuma outra forma de disponibilizar o acesso de forma que mantenha o controle de restrições (usando todos os outros métodos). pois mesmo usando uma senha inválida. geo
A segurança deste método de acesso depende muito da forma de autenticação dos nomes antes de passar o controle para o SAMBA. Caso você tenha feito uma bela restrição em sua máquina e deseja que o seu shell script de cópia de arquivos funcione usando este método. Se realmente deseja fazer isto.semacesso Bloqueia o acesso de todos os usuários NIS que pertençam ao grupo semacesso. invalid users = bruno. portanto ele deverá ser um usuário válido do sistema. restrinja o acesso usando MAC Address com o iptables ou o arp (veja Restrições por MAC Address/IP.equiv.invalid users = &. A pesquisa é feita primeiro no NIS e depois no /etc/group (equivalente ao uso de "&+"). A pesquisa de grupo é feita primeiro no /etc/group e em seguida no NIS. exemplos disto incluem um diretório que contém drivers de impressoras. pois uma autenticação fraca põe em risco a segurança da sua máquina. tenha em mente os dados que poderão ser acessados daquela máquina. henrique e de todos os usuários que pertençam ao grupo users.
valid users = gleydson.
18. Bloqueia o acesso dos usuários bruno.5 Evite o uso do parâmetro hosts equiv!
Este parâmetro permite que máquinas tenham acesso sem senha a um servidor.12. negando o acesso. Para configurar um acesso público utilizamos a opção public = yes ou guest ok = yes (que é um sinônimo para o último comando).6 Evite o uso de senhas em branco!
O parâmetro null passwords é usado na seção [global] permitindo que contas de usuários sem senha tenham acesso permitido ao servidor.
18.12. você está jogando toda a segurança do seu sistema por ralo abaixo. O UID utilizado no acesso público é especificado pelo parâmetro guest account.12. michelle. o padrão é ser mais restritivo. Caso você queira somente definir acesso guest a
. O padrão é não usar nenhum arquivo hosts.
ele será mapeado para o usuário guest.12. especifique a opção guest only para o serviço. . o mesmo compartilhamento teste ([teste]) foi definido como acesso leitura/gravação para todos (read only = no). Seção 18. Esta forma de restrição é explicada melhor em Excessão de acesso na permissão padrão de compartilhamento. O parâmetro usado para fazer a restrição de acesso somente leitura é o read only = yes ou seu antônimo writable = no. writable = yes follow symlinks = false
O parâmetro guest account também poderá ser especificado no compartilhamento. onde o acesso guest é o último checado). [download] path = /downloads comment = Espaço público para abrigar downloads de Usuários guest ok = yes (aqui poderá ser também "public = yes"). Caso seu servidor somente disponibiliza compartilhamentos para acesso público. Seção 18. Adicionalmente foi colocada uma proteção para que o superusuário não tenha acesso a ele (invalid users = root). mas os usuários do grupo @users e o usuário gleydson terão sempre acesso leitura (read list = @users.um compartilhamento.8 Criando um compartilhamento com acesso somente leitura
Esta proteção é útil quando não desejamos que pessoas alterem o conteúdo de um compartilhamento.14. Isto pode ser feito de duas formas: negando o acesso de gravação para todo o compartilhamento ou permitindo leitura somente para algumas pessoas. senha ou sequer um diretório home.10). portanto tenha certeza da importância dos dados que existem no diretório. e todos podem apenas ler seu conteúdo read only = yes). mesmo que o usuário tenha acesso. Uma boa medida de segurança é usar o usuário nobody pois a maioria das distribuições de Linux seguras adotam-o como padrão como usuário que não é dono de quaisquer arquivos/diretórios no sistema.. não possui login. todos os arquivos e subdiretórios dentro do diretório que compartilhou serão disponibilizados. OBS: Lembre-se que o compartilhamento funciona de modo recursivo.public = yes). gleydson). desta forma.12. verifique se existem links simbólicos que apontam para ele. isto é útil quando não quiser que o usuário que acesse o compartilhamento não seja o mesmo usado na diretiva [global].. ou seja. de forma pública (acesso sem senha .
18. gleydson invalid users = root
. é mais recomendado utilizar o nível security = share pra diminuir a carga máquina. etc. pois o usuário guest será o primeiro a ser checado pelas regras de acesso (ao contrário do nível user. Abaixo seguem os dois exemplos comentados:
[teste] comment = Acesso a leitura para todos path = /tmp read only = yes public = yes
No exemplo acima. o diretório /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]).
[teste] comment = Acesso a gravação para todos com excessões path = /tmp read only = no read list = @users.12. Veja um exemplo disponibilizando o compartilhamento [download] para acesso público com acesso a gravação:
[global] guest account = nobody . Recomendo dar uma olhada rápida em Considerações de segurança com o uso do parâmetro "public = yes".
tornamos o compartilhamento invisível (veja Criando um compartilhamento invisível.que é o padrão).10). Em adição.12. disponibilizamos o diretório /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]). Veja alguns exemplos:
[temporario] comment = Diretório temporário path = /tmp writable = yes read list = gleydson.
18. isto é possível e será explicado nesta seção. o diretório /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]).12. o mesmo compartilhamento teste ([teste]) foi definido como acesso de leitura para todos (writable = no). exceto para o usuário gleydson e usuários do grupo Unix operadores. Esta forma de restrição é explicada melhor em Excessão de acesso na permissão padrão de compartilhamento. Este controle é feito pela opção read only = no e seu antônimo equivalente writable = yes.10 Excessão de acesso na permissão padrão de compartilhamento
É possível alterar o nível de acesso para determinados usuários/grupos em um compartilhamento. para entender melhor: Caso tenha criado um compartilhamento somente leitura e queira permitir que apenas alguns usuários ou grupos tenham acesso a gravação. path = /tmp writable = yes public = yes
. de forma pública (acesso sem senha .18. seu acesso padrão é leitura/gravação para todos (writable = yes). mas os usuários do grupo @users e o usuário gleydson serão os únicos que terão também acesso a gravação (write list = @users.public = yes) e todos podem ler/gravar dentro dele (writable = yes). Este controle pode ser feito de duas formas: Acesso total de gravação para os usuários e acesso de gravação apenas para determinados usuários. gleydson). Tornamos o compartilhamento visível no "Ambiente de Rede" do Windows (browseable = yes . que tem acesso a leitura/gravação (write list = gleydson. gleydson). disponibilizamos o diretório /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]).
[teste] comment = Acesso a leitura para todos com excessões path = /tmp writable = no write list = @users.12) no "Ambiente de Rede" do Windows (browseable = no) e ele será lido e disponibilizado pelo SAMBA (available = yes).
[temporario] comment = Diretório temporário path = /tmp writable = no write list = gleydson. Seção 18. Este comportamento é controlado por duas opções: read list e write list.9 Criando um compartilhamento com acesso leitura/gravação
Esta forma de compartilhamento permite a alteração do conteúdo do compartilhamento dos usuários que possuem as permissões de acesso apropriadas. exceto para os usuários root e gleydson (read list = root. gleydson
Neste. seu acesso padrão é apenas leitura para todos (writable = no).12.12. @operadores browseable = yes
Neste exemplo. Seção 18. Abaixo dois exemplos:
[teste] comment = Acesso de gravação para todos. root browseable = no available = yes
Neste exemplo. @operadores).
Somente os usuários gleydson e michelle (valid users = gleydson michelle) podem listar seu conteúdo.168.12 Criando um compartilhamento invisível
Para não exibir um compartilhamento da lista de compartilhamentos das máquinas.0/24 [ADMIN$] read only = yes allow from 192. especificando a \\maquina\compartilhamento.168.1. Assim não é necessário colocar 127.12.0/24
Os exemplos acima são similares ao de antes.
. Para acessar o compartilhamento do exemplo acima:
# Clique em Iniciar/Executar e digite: \\nome_do_servidor_samba\teste
Ao contrário das máquinas Windows onde é necessário adicionar um "$" do nome de compartilhamento para criar um compartilhamento oculto (como teste$) o SAMBA cria um compartilhamento realmente oculto. se autenticar no domínio e realizar tarefas administrativas gerais:
[IPC$] read only = yes allow from 192.1 na lista de IPs autorizados. porém ele poderá ser acessado da estação Windows.18.168. o diretório /tmp (path = /tmp) foi compartilhado através de teste ([teste]) com acesso somente leitura (read only = yes) e ele não será mostrado na listagem de compartilhamentos do ambiente de rede do Windows (browseable = no).0/24
O exemplo acima permite que os serviços IPC$ e ADMIN$ sejam acessados de qualquer máquina na faixa de rede 192.168.1. Note que o compartilhamento continua disponível.1. Os efeitos desta restrição serão que somente as redes autorizadas possam obter a lista de máquinas.0. Para forçar a autenticação para acesso a estes serviços:
[IPC$] invalid users = nobody valid users = gleydson michelle read only = yes allow from 192. os serviços IPC$ e ADMIN$ sempre poderão ser acessados de 127.0.0. não aparecendo mesmo na listagem do smbclient.168.0/24. OBS: Mesmo que estejam restritos. utilize o parâmetro browseable = no. pois o usuário nobody (usado para mostrar o compartilhamento) tem o acesso negado. Isto pode ser feito através da mesma forma que a restrição em outros compartilhamentos.0/24 [ADMIN$] invalid users = nobody valid users = gleydson michelle read only = yes allow from 192. ou teríamos problemas com o funcionamento do SAMBA.12.0.11 Restringindo o IPC$ e ADMIN$
É seguro restringir os serviços IPC$ e ADMIN$ para acesso somente pelas faixas de rede de confiança.1. mas o acesso a listagem dos compartilhamentos é restringida (invalid users = nobody). Por exemplo:
[teste] path = /tmp comment = Diretório temporário read only = yes browseable = no
18. montar um "honney pot" para trojans. Apenas tenha consciência que os programas sendo executados são seguros o bastante para não comprometer o seu sistema.12. Adicionalmente. ou seja. é possível que o sistema lhe envie e-mails alertando sobre acesso a compartilhamentos que em conjunto com um debug level 2 e logs configurados independentes por máquina. A UID do processo do preexec e postexec será o mesmo do usuário que está acessando o compartilhamento. Caso precise executar comandos como usuário root. etc. as possibilidades do SAMBA se extendem além do simples compartilhamento de arquivos. OBS: Tenha em mente todas as considerações de segurança abordadas neste capítulo.12. caso o comando mount da opção preexec tenha retornado um valor diferente de 0. prefira sempre utilizar senhas criptografadas. Usando a mesma técnica. utilize a variante root preexec e root postexec. pois abrirá brechas para que possa acessar o diretório home de qualquer usuário e com acesso a gravação (que é o padrão adotado pelos administradores para permitir o acesso ao seu diretório home remoto).
18. você possa ver o que a máquina tentou acessar (e foi negado) e o que ela conseguiu acesso. NÃO utilize o parâmetro "public = yes" (ou um de seus sinônimos) no compartilhamento [homes]. Como deve estar notando. a conexão do compartilhamento é fechada (preexec close = yes). Como bom administrador. A disponibilidade de arquivos em uma rede é simples.
18. Outra medida é não utilizar a opção follow symlinks. simples também pode ser o acesso indevido a eles caso não saiba o que está fazendo. se integrando com o potencial dos recursos do sistema UNIX. e deseje que estes CDs estejam sempre disponíveis mesmo que algum operador engraçadinho tenha ejetado as gavetas de propósito. bem como as permissões de acesso ao sistema Unix e como elas funcionam.14 Considerações de segurança com o uso do parâmetro "public = yes"
Este parâmetro permite que você acesso um compartilhamento sem fornecer uma senha. somente leitura (red only = yes). você poderá criar scripts que façam uma checagem de segurança no compartilhamento e encerre automaticamente a conexão caso seja necessário. imagine que esteja compartilhando 4 unidades de CDRom de um servidor na rede.
.12. Por exemplo. Aqui alguns motivos: • A senha é enviada de uma forma que dificulta sua captura por pessoas maliciosas.15 Senhas criptografadas ou em texto puro?
Como regra geral. como o [netlogon] ou outras áreas de acesso público onde as permissões do sistema de arquivos local estejam devidamente restritas. podemos fazer a seguinte configuração:
[cdrom] path = /cdrom comment = Unidade de CD-ROM 1 read only = yes preexec = /bin/mount /cdrom preexec close = yes postexec = /bin/umount /cdrom
Na configuração acima. por este motivo ele deverá ter permissões para montar/desmontar o CD-ROM no sistema. que o usuário não esteja autenticado.13 Executando comandos antes e após o acesso ao compartilhamento
Este recurso oferece uma infinidade de soluções que podem resolver desde problemas de praticidade até segurança usando as opções preexec e postexec. Recomendo utilizar o parâmetro public = yes somente em compartilhamentos onde é realmente necessário. que poderá lhe causar problemas com usuários mal intencionados que tenham acesso shell. • O NT não permite que você navegue no ambiente de rede em um sistema SAMBA com nível de acesso por usuário autenticando usando senhas em texto plano. quando o usuário acessar o compartilhamento ele "fechará" a gaveta do CD (preexec = /bin/mount /cdrom) e desmontará o drive de CD assim que o compartilhamento for fechado (postexec = /bin/umount /cdrom). o CD-ROM será compartilhado como cdrom ([cdrom]).
Seção 18. leve em consideração estes pontos. As vantagens da utilização da autenticação usando texto plano: • A senha utilizada será a mesma do /etc/passwd (servindo para ftp. Para que o processamento do resto do arquivo seja interrompido quando um mapeamento confira. este exemplo terá o mesmo efeito). login. Outro caracter especial é o "*" e indica que qualquer usuário será mapeado. coloque o sinal "!" na frente do nome local. • Você não será perguntado por uma senha durante cada reconexão de recurso.8) para detalhes de como fazer isto. Você pode utilizar comentários na mesma forma que no arquivo de configuração smb.• Será solicitada sempre a senha para reconexão em cada compartilhamento da máquina. OBS: Caso seu NT ou versão derivada não navegue no ambiente de rede (só aceitando conexões especificando diretamente o "\\servidor\compartilhamento") modifique sua configuração do SAMBA para autenticar usando senhas criptografadas (veja Ativando o suporte a senhas criptografadas.
18. • O parâmetro da esquerda é a conta Unix local que será usada para fazer acesso ao compartilhamento. Outro vantagem de seu uso é permitir que uma categoria de usuários utilizem um mesmo nível de acesso no sistema. ele será # mapeado para o usuário nobody (como o usuário root e adm já são mapeados # para "nobody". se nenhum usuário conferir.9 para detalhes). provavelmente a utilização de autenticação usando texto plano no SAMBA não trará problemas mais graves para você. O parâmetro "@grupo" permite que usuários pertencentes ao grupo Unix local sejam mapeados para a conta de usuário do lado esquerdo. • O parâmetro da direita do sinal de "=" pode conter um ou mais nomes de usuários separados por espaços que serão mapeados para a conta Unix local.12. • Todas as versões de Windows NT 4 a partir SP3 e Windows 95 OSR/2 utilizam senhas criptografadas como padrão. Somente uma conta Unix poderá ser utilizada. Seu formato é o seguinte: username map = arquivo. samba = @smb-users # Utiliza todos os exemplos anteriores. a diferença é o que o processamento do arquivo continua mesmo que uma condição confira. As seguintes regras são usadas para construir o arquivo de mapeamento de nomes: • Um arquivo de múltiplas linhas onde o sinal de "=" separa os dois parâmetros principais.16 Mapeamento de nomes de usuários
Este recurso faz a mapeamento (tradução) de nomes de usuários usados no momento do acesso para contas de acesso locais. É possível faze-lo utilizar senhas em texto plano modificando chaves no registro das máquinas clientes (veja Ativando o suporte a senhas em texto plano. Antes de optar por utilizar um sistema de senhas em texto plano. bastante útil quando o nome de usuário enviado pela máquina não confere com NENHUMA conta local do sistema (um exemplo é quando o login do usuário no Windows é diferente de seu Login no Linux). Seção 18. Alguns exemplos:
# Mapeia o usuário "gleydson mazioli" com o usuário local gleydson gleydson = gleydson mazioli # Mapeia o usuário root e adm para o usuário nobody nobody = root adm # Mapeia qualquer nome de usuário que pertença ao grupo smb-users para o usuário # samba. etc) • O servidor PDC pode ser usado para logon desde que os clientes estejam usando senhas em texto plano. • Elas não são armazenadas no disco da estação cliente. Se você já utiliza telnet ou ftp. O arquivo é processado linha por linha da forma tradicional.
Caso você possua aplicativos que fazem o lock corretamente de arquivos. O valor padrão é 16384.!gleydson = gleydson mazioli !samba = @smb-users nobody = *
18. Em casos onde um NFS montado ou até mesmo leitura em discos locais é compartilhada. Este cache é feito pela opção write cache size e funciona fazendo o cache dos arquivos que serão lidos/gravados. Caso utiliza um aplicativo muito bem programado que implementa de forma eficiente de lock. O uso de oplocks yes em compartilhamentos aumenta a performance de acesso a arquivos em até 30%. você poderá desativar esta opção. ela é ativada. o parâmetro strict locking definido para yes pode fazer alguma diferença de performance. Note que o valor de leitura nunca ultrapassa o valor de "read size". Em uso excessivo do servidor de arquivos. Caso utiliza um valor de depuração de log muito alto (debug level). O tipo de sistema de arquivos adotado na máquina e suas opções de montagem tem um impacto direto na
. A opção prediction permite que o SAMBA faça uma leitura adiante no arquivo abertos como somente-leitura enquanto aguarda por próximos comandos. O valor especificado nesta opção é em bytes e o padrão é "0" para não causar impacto em sistemas com pouca memória (ou centenas de compartilhamentos). etc. Esta é uma opção útil para detectar problemas de negociação de protocolo e por padrão. pois utiliza um código de cache no cliente. pois é diretamente dependente do tipo de cliente que sua rede possui. O valor é dependente da instalação local. Ele é esvaziado assim que o arquivo for fechado ou quando estiver cheio. A desativação da opção global nt smb support também melhora a performance de acesso dos compartilhamentos. A opção read size permite obter um sincronismo fino entre a leitura e gravação do disco com o envio/recebimento de dados da rede. o sistema ficará mais lento pois o servidor sincroniza o arquivo após cada operação. Note que nem todos os sistemas ganham performance com o uso desta opção e não deve ser usada em aplicativos que não requisitam o estado do lock de arquivo ao servidor. isto significa que futuras aberturas de arquivo podem ser feitas em em modo leitura/gravação. A desativação da opção wide links em conjunto com o uso de cache nas chamadas getwd (getwd cache) permite aumentar a segurança e tem um impacto perceptível na performance dos dados. A desativação de kernel oplocks é necessária para que isto funcione. Alguns clientes podem ficar mais lentos em modo de leitura raw. rede. Deixar a opção para seguir links simbólicos ativada (follow symlinks) garante mais performance de acesso a arquivos no compartilhamento. Exemplo:
[publico] path = /pub comment = Diretório de acesso público read only = yes public = yes write cache size = 384000
Compartilha o diretório /pub (path = /pub) como compartilhamento de nome publico ([publico]). isso apresenta uma degradação perceptível de performance. A opção read raw e write raw devem ter seus valores experimentados para ver se faz diferença na performance da sua rede. você poderá usar o share modes = no. seu acesso será feito como somente leitura (read only = yes) e o tamanho do cache de leitura/gravação reservado de 384Kb (write cache size = 384000). Tenha certeza do que está fazendo antes de sair usando oplocks em tudo que é lugar. levando em consideração a velocidade de disco rígido.13 Melhorando a performance do compartilhamento/servidor
Esta seção trará algumas formas de otimização do servidor SAMBA que fazem diferença quando os valores adequados são utilizados: A primeira é a ativação de um cache de gravação/leitura de arquivos. Esta opção associada com bons valores de write cache size pode fazer alguma diferença.
Serão explicadas tanto a configuração de grupo de trabalho como de domínio e como a configuração é compatível entre Linux e Windows. Seção 18.2 • Windows XP Professional Edition.2.14. Como o SAMBA faz o transporte NetBEUI via TCP/IP. Outro detalhe que deve ser lembrado é que o Windows for Workgroups envia sempre a senha em MAIÚSCULAS.14. data. Com estes dados em mãos. você deverá especificar a diretiva user = usuario para que a senha confira com o usuário local do sistema.4 • Windows NT WorkStation. Este problema não ocorre no Windows 95 e superiores.2. selecione na lista abaixo o nome do cliente que deseja configurar para incluir no grupo de trabalho: • Windows 9X. estas explicações são perfeitamente válidas para configurar clientes que acessem servidores Windows. requerimentos de cada configuração e documenta os passos necessários para ter o cliente se comunicando perfeitamente com o seu servidor. Seção 18. A senha enviada também é em formato texto plano. será necessário utilizar a diretiva "include = outro_arquivo_de_configuração. Seção 18.14 Configuração de Clientes NetBEUI
Este capítulo documenta a configuração de máquinas clientes NetBEUI. Seção 18.performance do servidor. desta forma. etc).14.14.14.
18. Como isso é dependente de rede você precisará usar técnicas de leitura/gravação para determinar quais são as melhores que se encaixam em seu caso. ajuste a opção level2 oplocks para yes. OBS:: Não use espaços entre o sinal de "=" quando especificar as opções do parâmetro socket options. O cache de leitura adiante de abertura de arquivos em modo somente leitura aumenta a performance com o uso do oplocks nível 2. A opção socket options é usada para fazer tais ajustes. Seção 18.14.%m para definir configurações específicas de acesso para estas máquinas. então é preciso configurar o SAMBA para tentar combinações de maiúsculas/minúsculas usando o parâmetro mangle case e default case na seção global do smb. que enviam o nome de usuário que efetuou o logon junto com a respectiva senha. principalmente com relação a atualização de status dos arquivos no sistema de arquivos (hora de acesso.2.2 Configurando clientes em Grupo de Trabalho
Para configurar o cliente para fazer parte de um grupo de trabalho. ajustes no socket fazem diferença nos dados que trafegam na rede.5
18. Para isto.3 • Windows XP Server Edition. é necessário apenas que tenha em mãos o nome do grupo de trabalho (workgroup) que os clientes farão parte e o nome de uma outra máquina que faz parte do mesmo grupo (para testes iniciais).14.1 • Windows XP Home Edition. para o acesso ser autorizado pelo samba. enviam somente a senha para acesso ao compartilhamento.conf. A recomendação deste tipo de oplock é o mesmo do nível 1.2. por exemplo:
Em especial.2.
18. como o Windows for Workgroups (Windows 3. a opção TCP_NODELAY apresenta uma perceptível melhoria de performance no acesso a arquivos locais. Se a segurança do seu samba depende de senhas criptografadas.11) e o Lan Manager (DOS).1 Considerações sobre o Windows for Workgroups e LanManager
Sistemas com implementações NetBIOS mais antigos.
mas utilizaremos o suporte NetBIOS sobre TCP/IP que é o usado pelo SAMBA além de ter um melhor desempenho. então está tudo certo também.3.9
18.2. etc. • Instale o Protocolo TCP/IP.6 • Windows 2000 Professional. • Clique na TAB Nome do Computador e no botão Alterar na parte de baixo da janela.
18.2. • No campo Descrição do Computador. coloque um nome de no máximo 15 caracteres para identificar a máquina na rede. coloque algo que descreva a máquina (opcional). Caso esta caixa esteja em cinza. Windows 98. Clique na tab "NetBIOS" e marque a opção "Desejo ativar o NetBIOS através do TCP/IP".14.2.14. • Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de diálogo.14.14.2. • Clique em "Protocolo TCP/IP" e em Propriedades. • Clique na tab "Controle de Acesso" e marque o "Controle de acesso a nível de compartilhamento" (a não ser que tenha configurado um servidor que mantenha um controle de nível de usuário na rede para as máquinas fora do domínio).• Windows NT Server. A máquina cliente agora faz parte do grupo de trabalho! Tente acessar um outro computador da rede e navegar através do ambiente de rede. Caso a lista de máquinas demore em aparecer. usando o seguinte formato: "\\computador"
. Você também pode instalar o protocolo NetBIOS. Seção 18.8 • Linux. Seção 18.14.2.2. No campo "Descrição do Computador". Seção 18.2 Windows XP Home Edition Siga as instruções de Windows XP Professional Edition. siga os seguintes passos: • Entre nas propriedades de rede no Painel de Controle • Instale o Cliente para redes Microsoft (caso não esteja instalado). Seção 18.2. A tela propriedades de sistema será aberta. permitir integração com servidores WINS. • Clique na tab "Identificação" e coloque lá o nome que identificará o computador (até 15 caracteres) e o nome do grupo de trabalho que ele fará parte(por exemplo "workgroup". Para tornar uma máquina parte do grupo de trabalho.2.14. Seção 18. • Clique em OK até reiniciar o computador. coloque algo que identifique a máquina na rede (por exemplo. tente acessar diretamente pelo nome do computador.14. etc) .3 Windows XP Professional Edition • Logue como administrador do sistemas local. • Entre no item Sistema dentro do painel de controle. "suporte".14. Windows 95OSR/2. Caso utilize o Windows 95 (qualquer uma das séries) é aconselhável atualizar a stack TCP/IP e NetBEUI para corrigir alguns problemas que podem deixar sua máquina vulnerável na versão que acompanha o WinSock do Windows 95.7 • Windows 2000 Server.1 Windows 9X Estas configurações são válidas para clientes Windows 95. "Computador da área de suporte"). • No campo nome do computador.
• Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de diálogo.2.
18.2. coloque um nome de no máximo 15 caracteres para identificar a máquina na rede.4 Windows XP Server Edition Siga as instruções de Windows XP Professional Edition. coloque o nome do computador no campo Nome do Computador • Clique em Grupo de trabalho e escreva o nome do grupo de trabalho em frente. • Entre no item Sistema dentro do painel de controle.14. • Na tab identificação. coloque um nome de no máximo 15 caracteres para identificar a máquina na rede. Seção 18. • Entre no item Sistema dentro do painel de controle. Clique em "Computador" e então no botão "Propriedades". Caso não estejam. Interface de NetBIOS e Serviços TCP/IP simples estão instalados. clique no botão Alterar • Na janela que se abrirá. • Na tab Protocolos. Clique em "Descrição de rede" e então no botão "Propriedades".2.
18.14. confira se os serviços Estação de trabalho. • Na tab Serviços.7 Windows 2000 Professional • Logue como administrador do sistemas local. Seção 18. • Clique em OK e aguarde a mensagem confirmando sua entrada no grupo de trabalho.2. faça sua instalação usando o botão Adicionar nesta mesma janela. A tela propriedades de sistema será aberta.6 Windows NT Server • Clique no item Rede do painel de controle.3.8 Windows 2000 Server • Logue como administrador do sistemas local. Caso não estejam.14.14.14.14.5 Windows NT WorkStation Veja Windows NT Server.2.
18. faça sua instalação clicando no botão Adicionar nesta mesma janela.6.
. Será necessário reiniciar a máquina.3. • Pronto. • No campo nome do computador.
18.• Clique em OK e aguarde a mensagem confirmando sua entrada no grupo de trabalho. • Clique em OK até voltar. A tela propriedades de sistema será aberta.2. Será necessário reiniciar a máquina.14. verifique se os protocolos NetBEUI e TCP/IP estão instalados. seu computador agora faz parte do grupo de trabalho.
18. • No campo nome do computador.
14. put para fazer a transferência de arquivos entre a máquina remota e a máquina local.
. Isto é ideal para acessar compartilhamentos anônimos.5. veja Programas de navegação gráficos. caso ele seja público. get.
18. Ao invés dela montar o compartilhamento como um disco local.14.1 smbmount
O smbmount é uma ferramenta que permite a montagem de um disco compartilhado por uma máquina NetBEUI remota como uma partição. mas acessa o compartilhamento usando gleydson como nome de usuário e teste como grupo de trabalho.9.2 smbclient
O smbclient é uma ferramenta de navegação em servidores SAMBA.9 Linux Os aplicativos smbclient e smbmount são usados para navegação e montagem dos discos e impressoras compartilhadas em máquinas Linux. • Clique em OK e aguarde a mensagem confirmando sua entrada no grupo de trabalho. Veja exemplos do uso do smbclient: smbclient -L samba1 Lista todos os compartilhamentos existentes (-L) no servidor samba1. Este método é ideal para redes que tem o nível de acesso por usuário ou para acessar recursos compartilhados em um domínio. Seção 18. Se você procura programas de navegação gráficos.14.2. smbmount //servidor/discoc /mnt/discoc -N Semelhante ao comando cima. Como complemento. com a diferença que o parâmetro -N não pergunta por uma senha. você pode digitar qualquer senha ou simplesmente pressionar enter.• Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de diálogo. você poderá navegar na estrutura do servidor de forma semelhante a um cliente FTP e executar comandos como ls. também é explicado o programa nmblookup para resolução de endereços NetBIOS em IP e vice-versa e a forma que as funções de máquinas são definidas em uma rede NetBEUI. smbmount //servidor/discoc /mnt/discoc -o username=gleydson.
18.workgroup=teste Semelhante aos anteriores.9.2.2. como o Ambiente de Rede do Windows ou mais poderosos. Será pedido uma senha para acessar o conteúdo do compartilhamento. smbclient //samba1/discoc Acessa o conteúdo do compartilhamento discoc no servidor samba1. Será necessário reiniciar a máquina. mas não utiliza senha (ideal para compartilhamentos com acesso anônimo). Veja alguns exemplos: smbmount //servidor/discoc /mnt/discoc Monta o compartilhamento de //servidor/discoc em /mnt/discoc usando o nome de usuário atual.
18. smbclient //samba1/discoc -N Idêntico ao acima.14. Também é através dele que é feita a interface com impressoras compartilhadas remotamente.
• GRUPO_TRABALHO<1c> . • GRUPO_TRABALHO<1b> = Navegador Principal de Domínio. Nesse caso. • COMPUTADOR<03> = Nome genérico da máquina (nome NetBIOS). A listagem exibida pela procura de IP do nmblookup possui códigos hexadecimais e cada um deles possui um significado especial no protocolo NetBEUI. Identificação de grupos/domínio • GRUPO_TRABALHO<1d> .
. utilize as opções -U usuário e -W grupo/domínio para fazer acesso com uma conta válida de usuário existente na máquina. • COMPUTADOR<20> = Serviço LanManager está sendo executado na máquina.168.3 nmblookup
Esta é uma ferramenta usada para procurar nomes de cliente usando o endereço IP. smbclient //samba1/discoc -U gleydson%teste1 -W teste Idêntico ao acima.14.0. procurar um IP usando o nome e listar as características de cada cliente.0.<GRUPO> = Resolvedores de Nomes Internet (WINS). Segue a explicação de cada um: Identificação da máquina • COMPUTADOR<00>= O serviço NetBEUI está sendo executado na máquina.1 nmblookup servidor Resolve o endereço IP da máquina servidor. • GRUPO_TRABALHO<03> . Veja alguns exemplos: nmblookup -A 127.2 Se conecta ao compartilhamento usando o endereço IP 192.2. Estes códigos podem lhe ser úteis para localizar problemas mais complicados que possam ocorrer durante a configuração de um servidor. isto quer dizer que não possui direitos de acesso adequados para listas ou acessar os compartilhamentos da máquina.1 Lista o nome e as opções usadas pelo servidor 127. • GRUPO_TRABALHO<1e> .9. Caso receba a mensagem NT Status Access Denied.<GRUPO> = Navegador Local de Domínio/Grupo.1. mas também envia a senha teste1 para fazer a conexão diretamente.0. OBS:Note que a ordem das opções faz diferença no smbmount. smbclient //samba1/discoc -U gleydson -W teste Se conecta ao compartilhamento como usuário gleydson usando o grupo de trabalho teste.<GRUPO> = Controladores de Domínio / Servidores de logon na rede.<GRUPO> = Nome Genérico registrado por todos os membros do grupo de trabalho.
18.smbclient //samba1/discoc -I 192.1.0.2 ao invés da resolução de nomes.168.
marque a opção "Efetuar logon no domínio do Windows NT".14.2. Mesmo assim.2. Adeque esta configuração as suas necessidades quando estiver funcionando :)
. Caso utilize o Windows 95 (qualquer uma das séries) é aconselhável atualizar a stack TCP/IP e NetBEUI para corrigir alguns problemas que podem deixar sua máquina vulnerável na versão que acompanha o WinSock do Windows 95. Seção 18. Windows 98.14. eles nunca serão um membro real de um domínio.x para aceitar o logon de estações Windows 2000. eles terão pleno acesso aos recursos do domínio e uma configuração mais fácil que os demais clientes. Veja Contas de máquinas de domínio.9 OBS: O Windows 2000 apresenta algumas dificuldades em entrar na rede do SAMBA 2. siga os seguintes passos: • Entre nas propriedades de rede no Painel de Controle • Instale o Cliente para redes Microsoft (caso não esteja instalado).14.11. Windows XP.4 • Windows NT WorkStation. você poderá escolher como será o método para restaurar as conexões de rede. permitir integração com servidores WINS. Coloque o nome do domínio que irá configurar o cliente para fazer parte na caixa "Domínio do Windows NT" (por exemplo. Windows 95OSR/2. Você também pode instalar o protocolo NetBIOS.14. sendo necessário o uso do SAMBA TNG 2.2 • Windows XP Professional Edition.14. Seção 18. Na parte de baixo da caixa de diálogo. selecione na lista abaixo o nome do cliente que deseja integrar no grupo de trabalho: • Windows 9X. etc.2.2.3.18. Seção 18. mas utilizaremos o suporte NetBIOS sobre TCP/IP que é o usado pelo SAMBA além de ter um melhor desempenho.7 • Windows 2000 Server.14.2.2. Windows 2k ou Linux).14.14. é necessário apenas que tenha em mãos os seguintes dados: • Nome do controlador de domínio PDC • Nome do domínio • Nome de usuário e senha que foram cadastrados no servidor. Como o Windows 3. "suporte"). • Acesso administrador no SERVIDOR PDC (SAMBA. Inicialmente. Seção 18.1 • Windows XP Home Edition. • Instale o Protocolo TCP/IP.6 • Windows 2000 Professional.14.3 • Windows XP Server Edition.
18.14.14. • Cria uma conta de máquina no domínio (no caso da máquina ser um Windows NT. Para tornar uma máquina parte do domínio. Seção 18. Windows 98. NT. etc).2. Windows 95. Windows ME não possuem uma conta de máquina. Seção 18.2. • Clique em "Cliente para redes Microsoft". podendo sofrer um name spoofing e terem a identidade roubada.5 • Windows NT Server. Seção 18.8 • Linux.3 Configurando clientes em Domínio
Para configurar qualquer um dos cliente abaixo para fazer parte de um domínio de rede. Seção 18.7.2. Seção 18.2.5 para maiores detalhes. Seção 18. Com estes dados em mãos. recomendo que utilize a "Efetuar logon e restaurar as conexões de rede" que é mais útil para depurar problemas (possíveis erros serão mostrados logo que fizer o logon no domínio).1 Windows 9X Estas configurações são válidas para clientes Windows 95.2.
coloque algo que identifique a máquina na rede (por exemplo. Será necessário reiniciar a máquina após concluir este passo.14. "suporte". No campo "Descrição do Computador".• Clique em "Protocolo TCP/IP" e em Propriedades. • Digite o nome de um grupo de trabalho que a máquina fará parte no campo "Grupo de Trabalho" (por exemplo "workgroup". No campo domínio. "Computador da área de suporte").14.
18. Quando for mostrada a tela pedindo o nome/senha. • Entre nos ítens (em seqüencia) Painel de controle/Ferramentas Administrativas/ Política de segurança local/políticas locais e depois em "opções de segurança". Você verá o script de logon em ação (caso esteja configurado) e a máquina cliente agora faz parte do domínio! Tente acessar um outro computador da rede e navegar através do ambiente de rede. tente acessar diretamente pelo nome do computador. • Na tela seguinte.2. usando o seguinte formato: "\\computador"
18. • Clique em OK até reiniciar o computador. • Clique na tab "Controle de Acesso" e marque o "Controle de acesso a nível de usuário e especifique o nome da máquina que serve a lista de usuários. siga todos os passos para ingressar a máquina em um grupo de trabalho como documentado em Windows XP Professional Edition.3 Windows XP Professional Edition • Primeiro.3. desative as opções "Encriptar digitalmente ou assinar um canal seguro (sempre)". "Desativar modificações de senha na conta de máquina" e "Requer chave de seção forte (Windows 2000 ou superior). • Clique em OK e aguarde a mensagem confirmando sua entrada no domínio. coloque o domínio que esta conta de usuário pertence e tecle <Enter>. então está tudo certo também.reg:
REGEDIT4 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters "RequireSignOrSeal"=dword:00000000 "SignSecureChannel"=dword:00000000
• Execute o comando regedit WinXP-Dom.3. etc). preencha com os dados da conta de usuário que criou no servidor. • Clique na tab "Identificação" e coloque lá o nome que identificará o computador (até 15 caracteres). volte na tela de alteração de identificação de máquina na rede. por causa de limitações desta versão. Clique na tab "NetBIOS" e marque a opção "Desejo ativar o NetBIOS através do TCP/IP". Seção 18.
. • Clique com o mouse em "Domínio" e digite o nome do domínio na caixa de diálogo. Na janela de opções de segurança. • Atualize o registro para permitir a entrada no domínio: • Copie o seguinte conteúdo para o arquivo WinXP-Dom.reg no cliente XP.3. • Após reiniciar a máquina. que normalmente é a mesma do PDC. Este campo somente será usado caso o logon no domínio NT não seja feito com sucesso." • Reinicie a máquina.2 Windows XP Home Edition Não é possível fazer o Windows XP Home Edition ser parte de um domínio. Caso a lista de máquinas demore em aparecer. Caso esta caixa esteja em cinza. será lhe pedido o nome de usuário e senha com poderes administrativos que podem inserir/remover máquinas do domínio.14.
8. Seção 18. • Clique em OK até voltar.14.14.
. sem a segurança que seu nome NetBIOS não seja usado por outros (veja Contas de máquinas de domínio. volte na tela de alteração de identificação de máquina na rede.6.8. • Após reiniciar a máquina.
18. • Na tab Protocolos. clique no botão Alterar • Na janela que se abrirá.6 Windows NT Server • Clique no item Rede do painel de controle. Será necessário reiniciar a máquina após concluir este passo.3. seu computador agora faz parte do domínio.18. Caso não estejam.14.3.3.14. o Windows NT será como um Windows 95/98 na rede. • Clique com o mouse em "Domínio" e digite o nome do domínio na caixa de diálogo. Seção 18. • Na tab Serviços.3
18.8 Windows 2000 Server • Primeiro. verifique se os protocolos NetBEUI e TCP/IP estão instalados. O usuário deverá ter poderes para adicionar máquinas no domínio. • Pronto.14. será lhe pedido o nome de usuário e senha com poderes administrativos que podem inserir/remover máquinas do domínio.5).7 Windows 2000 Professional Siga os passos descritos em Windows 2000 Server. • Na tela seguinte.
18. • Para criar uma conta de máquina no domínio. Caso a conta de máquina não seja criada.3.14. siga todos os passos para ingressar a máquina em um grupo de trabalho como documentado em Windows 2000 Server. • Clique em OK e aguarde a mensagem confirmando sua entrada no domínio. Interface de NetBIOS e Serviços TCP/IP simples estão instalados.14. confira se os serviços Estação de trabalho. Seção 18. desative a opção unix password sync. coloque o nome do computador no campo Nome do Computador • Clique em Dominio e escreva o nome do domínio que deseja entrar. Seção 18. faça sua instalação clicando no botão Adicionar nesta mesma janela.14.3.14.3.
18. clique em criar uma conta de computador no domínio e coloque na parte de baixo o nome do usuário sua senha.5 Windows NT WorkStation Veja os passos em Windows NT Server.4 Windows XP Server Edition Siga os procedimentos documentados em Windows XP Professional Edition. Caso não consiga trocar a senha do Windows 2000 no servidor PDC. Caso não estejam. • Na tab identificação.7.2. Seção 18.3. faça sua instalação usando o botão Adicionar nesta mesma janela.3.
Onde: • domínio . Reinicie o servidor SAMBA após estas modificações. você verá a mensagem:
Joined domain "domínio".14. utilize "domain". • error creating domain user: NT_STATUS_ACCESS_DENIED . da mesma forma usada pelo Windows. Em alguns casos. • encrypt passwords . • Instale o SAMBA caso não esteja ainda instalado. Sempre utilize senhas criptografadas para colocar uma máquina em um domínio.14.A conta de máquina no domínio não foi criada.Nome da máquina PDC. • Se tudo der certo. Veja Contas de máquinas de domínio. De também uma olhada em Erros conhecidos durante o logon do cliente.2. • password server .3.Não existe conta de máquina no Windows NT para autenticar uma máquina no domínio. revise com atenção todos os ítens acima.9 Linux • Entre no sistema como usuário root. • Edite o arquivo de configuração do samba /etc/samba/smb. Esta mensagem é mostrada quando a máquina SAMBA é cliente de um domínio NT.4 Erros conhecidos durante o logon do cliente
Esta seção contém os erros mais comuns e a forma de correção da maioria dos problemas que ocorrem quando um cliente SAMBA tenta entrar em domínio. Verifique se a conta de máquina foi criada no servidor e se o SAMBA na máquina cliente foi reiniciado.Nome do domínio que deseja fazer parte. Por este motivo.14. Seção 18.9. pode ser omitido.Diz se as senhas serão encriptadas ou não. • usuario_admin .
18.4. • NT_STATUS_NO_TRUST_SAM_ACCOUNT .
Se sua configuração não funcionou. basta apenas que autentique com seu nome de usuário/senha no domínio e que ela seja autorizada pelo PDC.Domínio que deseja fazer o logon • PDC/BDC . será necessário modificar as seguintes linhas na seção [global]:
[global] workgroup = nome_domínio security = domain password server = nome_pdc nome_bdc encrypt passwords = true
Onde: • workgroup . • Execute o comando: smbpasswd -j domínio -r PDC/BDC -U usuario_admin. após executar este comando. Também poderá ser usado *.14.conf.Nome da máquina PDC/BDC do domínio. Seção 18.18. seu usuário pode ser bloqueado após um determinado número de tentativas em alguns servidores mais restritivos. BDC. Para acessar os recursos compartilhados.
.Nível de segurança. Note que não é obrigatório realizar as configurações acima para acessar os recursos de uma máquina em domínio.Usuário com poderes administrativos para ingressara a máquina no domínio. assim o SAMBA tentará descobrir o servidor PDC e BDC automaticamente. veja Linux. Nesta configuração. Seção 18. OBS:O SAMBA envia primeiramente um usuário/senha falso para verificar se o servidor rejeita o acesso antes de enviar o par de nome/senha corretos.7. • security .5 para mais detalhes.
este é o recomendado.5 Programas de navegação gráficos
O smbclient.5. possibilitando autenticação em domínio/grupo de trabalho.6. Ele também permite a montagem de compartilhamentos remotos.Verifique primeiro os logs de acessos do sistema. Caso o SAMBA esteja sendo executado via inetd.7.14. isto não substitui o conhecimento sobre o funcionamento de cada opção e ajustes e organização feita diretamente no arquivo de configuração. verifique se a configuração padrão é restritiva e se o acesso está sendo negado pelos arquivos do tcp wrappers hosts.deny.6.• error setting trust account password: NT_STATUS_ACCESS_DENIED .2 swat Ferramenta de administração via web do samba.
18. e se você gosta de GTK.
18.1 linneighborhood Cliente SAMBA baseado em GTK.14. Caso precise de recursos mais complexos e autenticação.5. muito leve e possibilita a navegação entre os grupos máquinas em forma de árvore.6 Cliente de configuração gráficos
São ferramentas que permitem a configuração do samba usando a interface gráfica.14. • não existem servidores de logon no domínio . principalmente se estiver em dúvidas em algumas configurações. A configuração é feita através de qualquer navegador acessando http://ip_do_servidor:901 e logando-se como usuário root (o único com poderes para escrever no
. Seção 18.2.14. verifique se o parâmetro encrypt passwords está ativado. mas como todo bom administrador UNIX sabe.
18. Seção 18.allow e hosts. As opções do SAMBA são divididas em categorias facilitando sua localização e uso. montagem de recursos.14. nmblookup e smbmount são ferramentas extremamente poderosas auxiliando bastante o administrador na tarefa de configuração de sua rede e resolver problemas.
18. Para o uso no dia a dia ou quando não é necessária a operação via console. recomendo o TkSmb.
18. Caso esteja usando um cliente SAMBA. Com ele é possível definir configurações localmente. Isto facilita bastante o processo.Verifique se o parâmetro domain logons = yes foi usado para permitir o logon em domínio.A senha para criação de conta na máquina está incorreta ou a conta utilizada não tem permissões para ingressar uma máquina no domínio (veja Criando uma conta de administrador de domínio. Ele ocupa pouco espaço em disco.1 gnosamba Ferramenta de configuração gráfica usando o GNOME.6). Seu ponto forte é a navegação nos recursos da máquina ao invés da rede completa. • A senha informada não está correta ou o acesso ao seu servidor de logon foi negado . você pode utilizar uma das alternativas abaixo que são front-ends a estas ferramentas e facilitam o trabalho de navegação na rede.14.2 TkSmb Cliente SAMBA baseado em TCL/TK.14.5.
18. etc. Este é um daemon que opera na porta 901 da máquina onde o servidor samba foi instalado.
determinando o nome de usuário # de outras formas security = share # O recurso de senhas criptografadas não funciona quando usamos o nível share # de segurança.arquivo de configuração). Todos os exemplos estão bem comentados e explicativos.15. Ele não tem a intenção de atender uma determinada finalidade. controle de acesso.
[global] # nome da máquina na rede netbios name = teste # nome do grupo de trabalho que a máquina pertencerá workgroup = focalinux # nível de segurança share permite que clientes antigos mantenham a compatibilidade # enviando somente a senha para acesso ao recurso.
18. O modo avançado apresenta praticamente todos os parâmetros aceitos pelo servidor samba (restrições. portanto fica a inteira responsabilidade do usuário sua utilização. Esta configuração é indicada quando necessita de compatibilidade com softwares NetBIOS antigos. você terá disponível as opções mais comuns e necessárias para compartilhar recursos na rede. onde encrypt passwords = false # Conta que será mapeada para o usuário guest guest account = nobody # Como todos os compartilhamentos desta configuração são de acesso público # coloquei este parâmetro na seção [global]. tanto em modo de compartilhamento com acesso público ou um domínio restrito de rede.org> para o guia Foca GNU/Linux Avançado . apenas pegue o que se enquadre mais em sua situação para uso próprio e adaptações. [temporario] path = /tmp comment = Diretório temporário read only = no browseable = yes
. guest ok = 1 # Conjunto de caracteres utilizados para acessar os compartilhamentos.Capítulo SAMBA Este script pode ser copiado e distribuído livremente de acordo com os termos da GPL.
# # # # # # # # Arquivo de configuração do SAMBA criado por Gleydson Mazioli da Silva <gleydson@debian. # é adicionada a descrição "Diretório temporário" com acesso leitura/gravação # (read only = no) e exibido na janela de navegação da rede (browseable = yes). O padrão # para o Brasil e países de língua latina é o ISO 8859-1 character set = ISO8859-1 # Compartilha o diretório /tmp (path = /tmp) com o nome "temporario" ([temporario]). No modo básico. O motivo disto é porque automaticamente é assumido que você # está selecionando este nível por manter compatibilidade com sistemas antigos # ou para disponibilizar compartilhamentos públicos.15 Exemplos de configuração do servidor SAMBA
Os exemplos existentes nesta seção cobrem diferentes tipos de configuração do servidor.1 Grupo de Trabalho com acesso público
Este exemplo pode ser usado de modelo para construir uma configuração baseada no controle de acesso usando o nível de segurança share e quando possui compartilhamentos de acesso público. sendo usado apenas para fins didáticos. Esta ferramenta vem evoluindo bastante ao decorrer dos meses e é a recomendada para a configuração do servidor SAMBA remotamente. otimizações. Seu modo de operação divide-se em básico e avançado. assim esta opção afetará todos # os compartilhamentos.). etc.
0/24 # A máquina 192.1. permite somente as conexões vindas da rede 192. bloqueamos o acesso desta máquina.1. O padrão # para o Brasil e países de língua latina é o ISO 8859-1 character set = ISO8859-1
. # A descrição "Diretório de acesso público" é associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navegação # da rede (browseable = yes).Capítulo SAMBA Este script pode ser copiado e distribuído livremente de acordo com os termos da GPL. mas pode ser facilmente modificada para suportar senhas criptografadas. [publico] path =/pub comment = Diretório de acesso público read only = yes browseable = yes # Compartilha todas as impressoras encontradas no /etc/printcap do sistema # Uma descrição melhor do tipo especial de compartilhamento "[printers]" # é explicado no inicio do guia Foca Linux [printers] comment = All Printers path = /tmp create mask = 0700 printable = Yes browseable = No
18. Ele não tem a intenção de atender uma determinada finalidade. Esta configuração utiliza senhas em texto claro para acesso dos usuários. portanto fica a inteira responsabilidade do usuário sua utilização.# Compartilha o diretório /pub (path = /pub) com o nome "publico" ([publico]).0/24 hosts allow = 192.168. e restrições de IPs e interface onde o servidor opera.1.57/32 # Conjunto de caracteres utilizados para acessar os compartilhamentos.168.168. sendo usado apenas para fins didáticos.15.2 Grupo de Trabalho com acesso por usuário
O exemplo abaixo descreve uma configuração a nível de segurança por usuário onde existem compartilhamentos que requerem login e usuários específicos.1. como medida # de segurança.org> para o guia Foca GNU/Linux Avançado .57 possui gateway para acesso interno.168. hosts deny = 192.
# # # # # # # # Arquivo de configuração do SAMBA criado por Gleydson Mazioli da Silva >gleydson@debian.
[global] # nome da máquina na rede netbios name = teste # nome do grupo de trabalho que a máquina pertencerá workgroup = focalinux # nível de segurança user somente aceita usuários autenticados após o envio # de login/senha security = user # É utilizada senhas em texto claro nesta configuração encrypt passwords = false # Conta que será mapeada para o usuário guest guest account = nobody # Permite restringir quais interfaces o SAMBA responderá bind interfaces only = yes # Faz o samba só responder requisições vindo de eth0 interfaces = eth0 # Supondo que nossa interface eth0 receba conexões roteadas de diversas # outras redes.
[global] # nome da máquina na rede netbios name = teste # nome do grupo de trabalho que a máquina pertencerá workgroup = focalinux # String que será mostrada junto com a descrição do servidor server string = servidor PDC principal de testes # nível de segurança user somente aceita usuários autenticados após o envio # de login/senha security = user # Utilizamos senhas criptografadas nesta configuração encrypt passwords = true smb passwd file = /etc/samba/smbpasswd
. # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser # Compartilha o diretório /pub (path = /pub) com o nome "publico" ([publico]). sendo usado apenas para fins didáticos.15. O parâmetro public = yes permite que este # compartilhamento seja acessado usando o usuário "nobody" sem o fornecimento # de senha.3 Domínio
# # # # # # # # Arquivo de configuração do SAMBA criado por Gleydson Mazioli da Silva <gleydson@debian. Ainda fazemos uma proteção # onde qualquer usuário existente no grupo @adm é automaticamente # rejeitado e o usuário "baduser" somente possui permissão de leitura # (read list = baduser). [homes] comment = Diretório do Usuário create mask = 0700 directory mask = 0700 browseable = No # Compartilha o diretório win (path = /win) com o nome "win" ([win]). portanto fica a inteira responsabilidade do usuário sua utilização. # o nome de volume precisa ser especificado pois usamos programas # que a proteção anti cópia é o serial. [publico] path =/pub comment = Diretório de acesso público read only = yes browseable = yes public = yes
18.# As restrições do PAM terão efeito sobre os usuários e recursos usados do SAMBA obey pam restriction = yes # Mapeia o diretório home do usuário autenticado.org> para o guia Foca GNU/Linux Avançado .Capítulo SAMBA Este script pode ser copiado e distribuído livremente de acordo com os termos da GPL. Ele não tem a intenção de atender uma determinada finalidade. Este compartilhamento especial # é descrito em mais detalhes no inicio do capítulo sobre o SAMBA no Foca Linux. # A descrição "Diretório de acesso público" é associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navegação # da rede (browseable = yes). # A descrição associada ao compartilhamento será "Disco do Windows".
# o nome de volume precisa ser especificado pois usamos programas # que a proteção anti cópia é o serial. rm %s' & # Conjunto de caracteres utilizados para acessar os compartilhamentos. [homes] comment = Diretório do Usuário create mask = 0700 directory mask = 0700 browseable = No # Compartilha o diretório win (path = /win) com o nome "win" ([win]). log file = /var/log/samba/samba-%m-%I. # A descrição associada ao compartilhamento será "Disco do Windows". logon drive = m: # Nome do script que será executado pelas máquinas clientes logon script = logon.log # O tamanho de CADA arquivo de log criado deverá ser 1MB (1024Kb). message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s. dividimos # os arquivos de log do servidor por máquina. max log size = 1000 # Escolhemos um nível de OS com uma boa folga para vencer as eleições de # controlador de domínio local os level = 80 # Dizemos que queremos ser o Domain Master Browse (o padrão é auto) domain master = yes # Damos algumas vantagens para o servidor ganhar a eleição caso # aconteça desempate por critérios preferred master = yes # Também queremos ser o local master browser para nosso segmento de rede local master = yes # Este servidor suportará logon de usuários domain logons = yes # Usuários que possuem poderes para adicionar/remover máquinas no domínio # (terão seu nível de acesso igual a root) admin users = gleydson # Unidade que será mapeada para o usuário local durante o logon (apenas # sistemas baseados no NT). O padrão # para o Brasil e países de língua latina é o ISO 8859-1 character set = ISO8859-1 # As restrições do PAM terão efeito sobre os usuários e recursos usados do SAMBA obey pam restriction = yes # Mapeia o diretório home do usuário autenticado. # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser
. Ainda fazemos uma proteção # onde qualquer usuário existente no grupo @adm é automaticamente # rejeitado e o usuário "baduser" somente possui permissão de leitura # (read list = baduser).bat # Ação que será tomada durante o recebimento de mensagens do # Winpopup.# Conta que será mapeada para o usuário guest guest account = nobody # Permite restringir quais interfaces o SAMBA responderá bind interfaces only = yes # Faz o samba só responder requisições vindo de eth0 interfaces = eth0 # como estamos planejando ter um grande número de usuários na rede. Este compartilhamento especial # é descrito em mais detalhes no inicio do capítulo sobre o SAMBA no Foca Linux.
# Compartilha o diretório /pub (path = /pub) com o nome "publico" ([publico]). [publico] path =/pub comment = Diretório de acesso público read only = yes browseable = yes public = yes # Compartilhamento especial utilizado para o logon de máquinas na rede [netlogon] path=/pub/samba/netlogon/logon. # A descrição "Diretório de acesso público" é associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navegação # da rede (browseable = yes).bat read only = yes
. O parâmetro public = yes permite que este # compartilhamento seja acessado usando o usuário "nobody" sem o fornecimento # de senha.
Recommended DocumentsDocuments Similar To SambaSkip carousellinux samba.pdfGuia Foca Gnu_linux - Sambaservidor-linux-capitulo-3-samba-62pagGuia Foca GNU_Linux - SAMBA.pdfSambaApostila Samba EAD 2011-Parte 1 CorrigidaManual - Impress or A Work Centre Pro 423Folder Aker Endpoint SecurityManual Instalacao TOTVS TecApresentação - Versão PPTxSambaFormulário para levantamento de estrutura dos clientesPara Instalar o Radar SERVIDOR01-Instalação e Testes V18Dinaerte Neto » Linux Ubuntu Server 12.04 LTS + Samba 3.6SANS as 20 Maiores Vulnerabilidades de Segurança - Windows e Linux[Protheus] Arquitetura e InstalaçãoConfigurando a Rede No Windowsslackbookptbr-1.0.2 (1).pdfAcessando máquinas Windows via RDP (WTS) - Redes e Servidores Linux, 2edApostilaSQLManual Do Usuario Sms Power View Client01-Manual de Instalação e TestesVisaoAZULcomentarios_pim1.pptSetup Symfony (2)Como ativar software GE r2.pdfLM24_zabbixa01-Introducao