14.11. Como faço para meus usuários samba acessarem com senha?

### CL70 e anteriores ###

Os passos descritos abaixo servem de guia para a criação de um acesso por senha no samba.

Acesse o sistema como root.

Primeiramente vamos criar os grupos. Neste documento utilizaremos como exemplo dois grupos o primeiro se chamará "admins" e o segundo "suporte". A criação de grupos varia de acordo com a distribuição de acesso que deseje ser feita.

Para criar os grupos utilize o comando:

        [root@localhost root]# groupadd (nome do grupo)

Ex:

        [root@localhost root]# groupadd admins (pressione enter)
        em seguida
        [root@localhost root]# groupadd suporte (pressione enter)

Criados os grupos será necessário criar os usuários que farão parte deles. Os usuário deverão ser criados no sistema linux e depois associados ao serviço samba.

Cada usuário criado poderá fazer parte de um grupo ou simplesmente ser um usuário samba.

Para criar um usuário associando este a um grupo utilize o comando:

        [root@localhost root]# adduser -g (grupo) usuário  (pressione enter)

Ex:

        [root@localhost root]# adduser -g admins carlos    (pressione enter)
         ou
        [root@localhost root]# adduser -g suporte junior   (pressione enter)
        ou
        [root@localhost root]# adduser -g comercial joao   (pressione enter)
   

Para criar um usuário sem pertencer a nenhum grupo utilize o comando:

        [root@localhost root]# adduser (nome do usuario)

Ex:

        [root@localhost root]# adduser pedro

Após a criação dos usuários deve-se cadastrar uma senha para eles utilizando o comando:

        [root@localhost root]# passwd usuário    (pressione enter)
       

Será necessário cadastrar uma senha e em seguida confirmá-la.

Ex:

        [root@localhost root]# passwd junior    (pressione enter)
        Insira uma senha (pressione enter)
        em seguida
        Confirme a senha (presione enter)

OBS: Repita este procedimento para todos os usuários criados.

Criados os usuários no sistema linux estes devem ser associados a usuários samba.

Para criar usuários samba utilize o comando:

        [root@localhost root]# smbadduser (user linux):(user samba)

Ex:

        [root@localhost root]# smbadduser  junior:junior

Será pedida uma senha para o usuário samba junior

        Insira a senha identica a cadastrada no sistema (pressione enter)
        em seguida
        Confirme a senha (pressione enter)

OBS: Apartir da versão windows 95B, a senha passa a ser criptografada.

Feita a criação dos grupos e usuários o próximo passo será a criação dos compartilhamentos que serão utilizados pelos usuários.

Para criar um diretório utilize o comando:

        [root@localhost root]#mkdir (nome do diretorio) (pressione enter)

Ex:

        [root@localhost root]#mkdir /suporte  (pressione enter)
        [root@localhost root]#mkdir /publico  (pressione enter)
        [root@localhost root]#mkdir /comercial (pressione enter)

Criado o diretório será necessário setar as permissões. Para colocar a permissões utilize o comando:

        [root@localhost root]# chmod -R 777 (nome do diretório)

Ex:

        [root@localhost root]# chmod -R 777 /suporte

OBS: A opção -R indica que a permissão setada valerá para todos os subdiretórios abaixo do /suporte, a permissão 777 da acesso total ao usuário, grupo e outros.

Feita a criação dos grupos, usuários e os compartilhamentos o próximo passo será a alteração do arquivo smb.conf que se encontra no diretório /etc.

Antes de alterar este arquivo aconselha-se guardar uma cópia deste no diretório /tmp caso ocorra algum erro de configuração e seja necessário utilizar o arquivo original.

Para copiar o arquivo utilize o comando:

        [root@localhost root]# cp /etc/smb.conf /tmp

Para alterar o arquivo utilize o comando:

        [root@localhost root]# mcedit /etc/smb.conf

Abaixo segue o arquivo smb.conf utilizado para elaborar este procedimento. Neste exemplo não constam todos as opções do samba, somente as necessárias para o funcionamento do acesso do samba por senha.

    #======================= Global Settings =====================================
    [global]
    
    #Grupo de trabalho das máquinas windows
       workgroup = intranet
    
    # Nome do servidor que aparecerá na rede windows
       server string = Samba Server
       netbios name = Linux
    
    # Carrega as impressoras configuradas na máquina   
       printcap name = /etc/printcap
       load printers = yes
    
    # Tipo de servidor de impressão  
       printing = lprng
    
    # Local onde ficará agravado o Log
       log file = /var/log/samba/log.%m
    
    # Tamanho do máximo do log em Mb
       max log size = 50
    
    # Nível de depuração do log
       debug level = 2 
    
    # Modo de acesso
       security = user
    
    # Combinação entre tamanhos de usuários e senhas
      password level = 8
      username level = 8
    
    # Especifica se a sennha será encriptada ou não
    # Para versões do windows 95B em diante há a necessidade em utilizar senha
    # criptografada
      encrypt passwords = yes
      smb passwd file = /etc/smbpasswd
    
    # Melhora um  pouco o rendimento em redes windows 
      socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    
    # Selecione como mater na rede
       local master = yes 
    
    # Força o servidor linux ser o master da rede
       os level = 200
    
    # Especifíca que o samba não precisará resolver nomes via DNS
       dns proxy = no 
    
    #============================ Share Definitions ==============================
    # Diretório particular de cada usuário
    [homes]
       comment = Home Directories
       browseable = no
       writable = yes
    
    #  Compartilhamento de impressoras
    [printers]
       comment = All Printers
       path = /var/spool/samba
       browseable = no
    # Set public = yes to allow user 'guest account' to print
       guest ok = no
       writable = no
       printable = yes
    
    # Neste compartilhamento todos possuem acesso de cópia e escrita
    [publico]
       path = /publico            #caminho do diretório na máquina linux
       public = yes               #Todos podem visuallizar este diretório
       only guest = yes
       writable = yes             #permite que todos possam gravar neste
       printable = no             # diretório
    
    # O compartilhamento estará visível mas só poderá gravar o usuário que
    # pertencer ao grupo suporte
    [suporte]
       path = /suporte
       only guest = yes
       printable = no
       write list = @suporte  #permissão de gravação somente para quem pertencer
                              #ao grupo suporte
    
    # O compartilhamento estará visível mas só poderá gravar o usuário que
    # pertencer ao grupo comercial
    [comercial]
       path = /comercial
       only guest = yes
       printable = no
       write list = @comercial #permissão de gravação somente para quem
                               # pertencer ao grupo comercial
    
    
    # Só poderá gravar neste copartilhamento quem pertencer ao grupo admins os
    # outros usuários só poderão ver e copiar os arquivos.
    [docs]
       path = /docs
       only guest = yes
       printable = no
       write list = @admins  #permissão de gravação somente para quem pertencer
                             #ao grupo admins
    
    
    
    # Faz o compartilhamento do cdrom para que todo os usuários possam acessar
    [cdrom]
       path = /mnt/cdrom
       public = yes
       only guest = yes
       writable = no
       printable = no


Pressione F2 para salvar e F10 para sair.

Feito isso a configuração do samba estará completa, faltando apenas levantar o servidor samba para que ele passe a ser visto pelas máquinas windows da rede.

Para levantar o servidor samba utilize os comandos:

    [root@localhost /root]cds   (pressione enter)

em seguida

    [root@localhost /inet.d]./smb start    (pressione enter)

Feito isto o servidor samba ja estará sendo visto pelas máquinas windows.