Blogger PauloSSPacheco |
Instalando e Configurando o Servidor Samba no Linux Debian - versão 24/06/2020 |
-
ÍNDICE
- Objetivo do servidor samba.
- Como instalar o servidor samba no Linux Debian e nas distribuições derivadas.
- Comando que ficam disponíveis depois de instalar o servidor Samba (Item 2 acima):
- smbd - O servidor Samba.
- testparm - Teste dos parametros registrados no arquivo /etc/samba/smb.conf.
- smbpasswd - Adiciona usuário linux ao servidor samba.
- smbstatus - Status do serviço.
- Configurações do servidor samba.
- Como criar ou excluir um grupo no Linux.
- Como adicionar ou excluir um usuário do grupo no Linux.
- Como alterar a senha de usuário no Linux
- Como adicionar ou excluir um usuários no servidor samba.
-
CONTEÚDO
- Objetivo do servidor samba.
- O Servidor SAMBA é responsável pelo compartilhamento de arquivos e impressoras na rede Microsoft, sua configuração está basicamente concentrada em um único arquivo, que é altamente complexo, mas isto somente no começo de seu uso. Assim que você se acostumar com o programa, verá inúmeras linhas como boas e velhas amigas.
- A localização do arquivo de configuração do Samba é /etc/samba/smb.conf e pode ser editado por qualquer editor de texto. Eu prefiro gedit, mais você pode editar com editor de sua preferência.
- Como instalar o servidor samba no debian e nas distribuições derivadas:
- Entrar no terminal modo root e digitar a linha abaixo:
-
#Atenção: # Ao executar cada comando abaixo, observe se aparece alguma mensagens de erro. # Se aparecer o problema mostrado deve ser solucionado antes de executar a próxima linha. # conecta-se como root su # Atualiza o repositório apt-get update # Instalar servidor samba apt-get install samba # O comando abaixo só deve ser executado se você for usar os usuários do Active Diresctory do windows. # Mais informações veja o link: http://www.vivaolinux.com.br/artigo/Linux-e-Active-Directory-(Integrando-COMPLETAMENTE-sua-estacao-Linux-a-um-dominio-MS-Windows-2000-2003-Server)/ apt-get install winbind
- Comando que ficam disponíveis depois de instalar o servidor Samba (Item 2 acima):
- smbd - O servidor Samba.Veja mais em:https://www.samba.org/samba/docs/current/man-html/smbd.8.html
-
root@MV-Mint:~# smbd --help Uso: smbd [OPÇÕES...] -D, --daemon Torne-se um daemon (padrão) -i, --interactive Executar interativo (não um daemon) e logar ao stdout -F, --foreground Execute o daemon em primeiro plano (para daemontools, etc.) --no-process-group Não crie um novo grupo de processos -S, --log-stdout Log to stdout -b, --build-options Opções de construção de impressão -p, --port=STRING Ouça nas portas especificadas -P, --profiling-level=PROFILE_LEVEL Definir nível de perfil Opções de ajuda: -?, --help Mostrar esta mensagem de ajuda --usage Mostrar uma breve mensagem de uso Common samba options: -d, --debuglevel=DEBUGLEVEL Definir nível de depuração -s, --configfile=CONFIGFILE Use um arquivo de configuração alternativo -l, --log-basename=LOGFILEBASE Nome base para arquivos de log -V, --version Versão impressa --option=name=value Defina a opção smb.conf na linha de comando
- testparm - Verifica as configurações do arquivo smb.conf.Veja mais em: https://www.samba.org/samba/docs/current/man-html/testparm.1.html
-
root@MV-Mint:~# testparm --help Uso: [OPTION...]
[host-name] [host-ip] -s, --suppress-prompt Suprimir prompt para entrar -v, --verbose Mostrar opções padrão também -l, --skip-logic-checks Ignorar as verificações globais --show-all-parameters Mostrar os parâmetros, tipo, valores possíveis --parameter-name=STRING Limitar testparm a um parâmetro nomeado --section-name=STRING Limite o testparm a uma seção nomeada Opções de ajuda: -?, --help Mostrar esta mensagem de ajuda --usage Mostrar uma breve mensagem de uso Common samba options: -V, --version Versão impressa Common samba debugging: -d, --debuglevel=DEBUGLEVEL Definir nível de depuração Common samba commandline config: --option=name=value Defina a opção smb.conf na linha de comando
- smbpasswd - Informa ao samba os usuários do Linux que terão acesso ao compartilhamento samba e permite alterar senhas (encriptadas) de usuários smb.
- Essa ferramenta faz parte da suíte samba (7) .
- O programa smbpasswd tem várias funções diferentes, dependendo se é executado pelo usuário root ou não. Quando executado como um usuário normal, permite que o usuário altere a senha usada para suas sessões SMB em qualquer máquina que armazene senhas SMB.
- Por padrão (quando executado sem argumentos), ele tentará alterar a senha SMB do usuário atual na máquina local. Isso é semelhante à maneira como o passwd(1)programa funciona. smbpasswd difere de como o programa passwd funciona, no entanto, não é setuid root, mas funciona em um modo cliente-servidor e se comunica com um smbd (8) executado localmente . Como conseqüência para que isso seja bem-sucedido, o daemon smbd deve estar em execução na máquina local. Em uma máquina UNIX, as senhas criptografadas do SMB são geralmente armazenadas no arquivo smbpasswd (5) .
- Quando executado por um usuário comum sem opções, o smbpasswd solicitará a senha antiga do SMB e solicitará a nova senha duas vezes, para garantir que a nova senha seja digitada corretamente. Nenhuma senha será ecoada na tela enquanto estiver sendo digitada. Se você tiver uma senha SMB em branco (especificada pela string "NO PASSWORD" no arquivo smbpasswd), basta pressionar a tecla <Enter> quando for solicitada sua senha antiga.
- O smbpasswd também pode ser usado por um usuário normal para alterar sua senha do SMB em máquinas remotas, como os controladores de domínio primário do Windows NT. Veja as opções ( -r) e -Uabaixo.
- Quando executado pelo root, o smbpasswd permite que novos usuários sejam adicionados e excluídos no arquivo smbpasswd, bem como permite que sejam feitas alterações nos atributos do usuário nesse arquivo. Quando executado pelo root, smbpasswd acessa o arquivo smbpasswd local diretamente, permitindo que sejam feitas alterações mesmo que o smbd não esteja em execução.
-
root@MV-Mint:~# smbpasswd -h When run by root: smbpasswd [options] [username] otherwise: smbpasswd [options] options: -L modo local (deve ser a primeira opção) -h imprima esta mensagem de uso -s usar stdin para solicitação de senha -c smb.conf file Use o caminho dado para o arquivo smb.conf -D LEVEL nível de depuração -r MACHINE máquina remota -U USER nome de usuário remoto (por exemplo, SAM / usuário) Opções extras quando executado por root ou no modo local: -a Esta opção especifica que o nome de usuário a seguir deve ser adicionado ao arquivo smbpasswd local, com a nova senha digitada (digite: Enter para a senha antiga). Esta opção é ignorada se o nome de usuário a seguir já existir no arquivo smbpasswd e for tratado como um comando de mudança de senha regular. Observe que os backends passdb padrão exigem que o usuário já exista no arquivo de senhas do sistema (geralmente /etc/passwd), senão a solicitação para adicionar o usuário falhará Exemplo: smbpasswd -a paulosspacheco -d desativar usuário -e habilitar usuário -i conta de confiança entre domínios -m conta de confiança da máquina -n não definir senha -W usar a senha de administrador do stdin ldap -w PASSWORD ldap admin password -x deletar usuário -R ORDER ordem de resolução de nome
- Veja mais em: https://www.samba.org/samba/docs/current/man-html/smbpasswd.8.html
- smbstatus - Apresenta a situação atual das conexões SMB no Host. Veja mais em: https://www.samba.org/samba/docs/current/man-html/smbstatus.1.html
-
root@MV-Mint:~# smbstatus --help Uso: [OPÇÕES...] -p, --processes Mostrar apenas processos -v, --verbose Seja versão -L, --locks Mostrar apenas bloqueios -S, --shares Mostrar apenas compartilhamentos -N, --notify Mostrar notifica -u, --user=STRING Mude para o usuário -b, --brief Seja breve -P, --profile Faça o perfil -R, --profile-rates Mostrar taxas de chamada -B, --byterange Incluir bloqueios de intervalo de bytes -n, --numeric Uid numérico / gid -f, --fast Ignorar verifica se os processos ainda existem Opções de ajuda: -?, --help Mostrar esta mensagem de ajuda --usage Mostrar uma breve mensagem de uso Common samba options: -d, --debuglevel=DEBUGLEVEL Definir nível de depuração -s, --configfile=CONFIGFILE Use um arquivo de configuração alternativo -l, --log-basename=LOGFILEBASE Nome base para arquivos de log -V, --version Versão impressa --option=name=value Defina a opção smb.conf na linha de comando
- Configurações do servidor samba:
- O servidor Samba é configurado através do arquivo /etc/samba/smb.conf , onde o mesmo é composto das seguintes secções:
- [global] - #======================= Global Settings =======================
- Objetivo: Informar ao samba as propriedades globais para todas as pastas e usuários.
- Descrição da estrutura do arquivo smb.conf: https://www.samba.org/samba/docs/using_samba/ch06.html
- Detalhe básicos do arquivo smb.conf: https://www.samba.org/samba/docs/old/Samba3-HOWTO/type.html
- Detalhe das opções avançadas do arquivo smb.conf:: https://www.samba.org/samba/docs/old/Samba3-HOWTO/NetworkBrowsing.html
- Opções:
- ## Browsing/Identification ###
- workgroup = WORKGROUP # Nome do domínio ou nome do grupo de trabalho.
- netbios name = servidor # Nome Visível na Rede
- server string = %h server (Samba, Ubuntu) # Cometário que aparecem ao lado do nome do servidor no ambiente de rede. Pode ser usado variáveis de ambiente
- # wins support = no # Usa o servidor Windows Internet Naming Service?
- ; wins server = w.x.y.z # Ip do servidor Windows Internet Naming Service
- dns proxy = no # Ip do servidor prox se existir.
- #### Networking ####
- ; interfaces = 127.0.0.0/8 eth0 # Multiple Network Interfaces with Samba
- ; bind interfaces only = yes # Esse parâmetro global permite que o administrador do Samba limite quais interfaces em uma máquina atenderão às solicitações SMB.
- #### Debugging/Accounting ####
- log file = /var/log/samba/log.%m
- max log size = 1000
- # syslog only = no
- syslog = 0
- panic action = /usr/share/samba/panic-action %d
- ####### Authentication #######
- server role = standalone server
- passdb backend = tdbsam
- obey pam restrictions = yes
- unix password sync = yes
- passwd program = /usr/bin/passwd %u
- passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
- pam password change = yes
- map to guest = bad user
- ########## Domains ###########
- ; logon path = \\%N\profiles\%U
- # logon path = \\%N\%U\profile
- ; logon drive = H:
- # logon home = \\%N\%U
- ; logon script = logon.cmd
- ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
- ; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
- ; add group script = /usr/sbin/addgroup --force-badname %g
- ############ Misc ############
- ; include = /home/samba/etc/smb.conf.%m
- ; idmap uid = 10000-20000
- ; idmap gid = 10000-20000
- ; template shell = /bin/bash
- ; usershare max shares = 100
- usershare allow guests = yes
- Customizações minhas
-
##=====================PAULO PACHECO=============================== # parametros sugerido por http://dailson.blogspot.com.br/2009/11/implementando-um-servidor- samba.html #pp NETBIOS NAME = MV-Mint #pp security = USER # Você pode querer usar encriptação de senha para dificultar ainda mais # a ação de pessoas mal intencionadas deixando como True a opção abaixo: #pp a linha abaixo não precisa porque é padrão no samba encrypt passwords = yes #pp #passdb backend = smbpasswd guest ??está dando erro.... #pp hosts allow = 192.168.15. #pp username level = 1 ##pp preserve case = no ##pp default case = lower ##pp ntlm auth = yes ##pp lanman auth = yes ##pp raw NTLMv2 auth = yes
- ..
- [homes] - #======================= Share Definitions =======================
- Objetivo: Permite personalizar as opções de compartilhamento dos usuário cadastrado no linux:
- Opções:
- ; comment = Home Directories
- ; browseable = no
- ; read only = yes
- ; create mask = 0700
- ; directory mask = 0700
- valid users = %S
- dica: https://www.hardware.com.br/tutoriais/samba-configuracao-avancada/pagina4.html
- [netlogon]
- Objetivo: Quando o servidor samba é configurado para ser um controlador primário de domínio (PDC), onde ele funciona como um servidor de autenticação para os clientes Windows, esta seção informa a pasta que guardara os script de login que será executado pelas estações por usuário conectado em todos os computadores. (Mais informação veja o Link. )
- Opções:
- ; comment = Network Logon Service
- ; path = /home/samba/netlogon
- ; guest ok = yes
- ; read only = yes
- [profiles]
- Objetivo:
- Opções:
- ; comment = Users profiles
- ; path = /home/samba/profiles
- ; guest ok = no
- ; browseable = no
- ; create mask = 0600
- ; directory mask = 0700
- [printers]
- Objetivo:
- Opções:
- comment = All Printers
- browseable = no
- path = /var/spool/samba
- printable = yes
- guest ok = no
- read only = yes
- create mask = 0700
- [print$]
- Objetivo:
- Opções:
- comment = Printer Drivers
- path = /var/lib/samba/printers
- browseable = yes
- read only = yes
- guest ok = no
- ; write list = root, @lpadmin
- Depois de alterar a secções acima segundo sua necessidade, você pode adicionar as pastas que serão compartilhadas, onde o nome do compartilhamento deve ser entre colchetes em seguida as opções do compartilhamento. Exemplo:
-
##=================Paulo Pacheco======================================== #PP [Downloads] path = /home/paulosspacheco/Downloads/ comment = Pasta para baixair aquivos da internet no linux Mint. browseable = yes available = yes writable = yes read only = no write list = @ITMS #PP [Documentos] path = /home/paulosspacheco/Documentos/ comment = Documentos da Máquina Virtual Mint browseable = yes available = yes writable = yes read only = no write list = @ITMS
- Como criar ou excluir um grupo no Linux.
- Comando groupadd adiciona grupo de usuário no linux :
-
root@MV-Mint:~# groupadd --help Uso: groupadd [opções] GRUPO Opções: -f, --force sai com sucesso se o grupo já existe, e cancela -g se o GID já está em uso -g, --gid GID usa GID para o novo grupo -h, --help mostrar esta mensagem de ajuda e sair -K, --key CHAVE=VALOR sobreescreve os padrões de /etc/login.defs -o, --non-unique permite criar grupos com GID duplicado (não-único) -p, --password SENHA usa a senha criptografada para o novo grupo -r, --system cria uma conta de sistema -R, --root CHROOT_DIR diretório a ser transformado em root --extrausers Use the extra users database
- Como criar um grupo no Linux:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Comando para criar um grupo no Linux groupadd NomeDoGrupo
- Como excluir um grupo no Linux:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Comando usado para remover um grupo no linux groupadd NomeDoGrupo
- Como adicionar ou excluir um usuário do grupo no Linux.
- O comando gpasswd adiciona ou remove usuários do grupo:
-
root@MV-Mint:~# gpasswd Uso: gpasswd [opção] GRUPO Opções: -a, --add USUÁRIO adiciona o USUÁRIO ao GRUPO -d, --delete USUÁRIO remove USUÁRIO do GRUPO -h, --help mostrar esta mensagem de ajuda e sair -Q, --root DIRETÓRIO diretório para o qual alterar o root -r, --remove-password remove a senha do GRUPO -R, --restrict restringe acesso dos membros ao GRUPO -M, --members USUÁRIO,... ajusta a lista de membros do GRUPO -A, --administrators ADMIN,... ajusta a lista de administradores para o GRUPO Exceto para as opções -A e -M, as opções não podem ser combinadas.
- Como adicionar um usuário ao grupo:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Adiciona um usuário ao grupo gpasswd -a NomeDoUsuario NomeDoGrupo
-
- Como excluir um usuário do grupo:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Exclui um usuário do grupo gpasswd -d NomeDoUsuario NomeDoGrupo
- Como alterar a senha de usuário no Linux:
- O comando passwd altera ou exclui a senha de usuário no linux.
-
root@MV-Mint:~# passwd --help Uso: passwd [opções] [LOGIN] Opções: -a, --all reportar estado de senhas em toda as contas -d, --delete remover a senha para a conta indicada -e, --expire forçar expiração da senha para a conta indicada -h, --help mostrar esta mensagem de ajuda e sair -k, --keep-tokens mudar senha somente caso expirada -i, --inactive INATIVO definir senha inativa após expiração para INATIVO -l, --lock trava a conta indicada -n, --mindays MIN_DIAS define número mínimo de dias antes da troca de senhas para MIN_DIAS -q, --quiet modo silencioso -r, --repository REPOSITÓRIO mudar senha no repositório REPOSITÓRIO -R, --root CHROOT_DIR diretório a ser transformado em root -S, --status reportar estado de senha para a conta indicada -u, --unlock destravar a conta indicada -w, --warndays DIAS_AVISO define dias de aviso de expiração para DIAS_AVISO -x, --maxdays MAX_DIAS define número máximo de dias antes da troca de senhas para MAX_DIAS
- Exemplo:
- Entre no terminal modo root e digite as linhas abaixo:
-
# Ao digitar o comando abaixo o sistema irá pedir a senha do usuário logado, # em seguida, ele pede a nova senha e pede para confirmar. passwd # Se você for super usuário você pode alterar a senha de outro usuário, # o sistema irá pedir a senha atual do outro usuário em seguida pede a # senha atual com confirmação. passwd paulosspacheco
- Como adicionar ou excluir um usuários no servidor samba.
- O comando smbpasswd pode incluir, excluir , ativar usuário, desativar usuário e alterar senha do servidor samba, deste que o usuário tenha sido cadastrado no Linux pelo comando gpasswd .
-
smbpasswd --help smbpasswd: opção inválida -- “-” When run by root: smbpasswd [options] [username] otherwise: smbpasswd [options] options: -L local mode (must be first option) -h print this usage message -s use stdin for password prompt -c smb.conf file Use the given path to the smb.conf file -D LEVEL debug level -r MACHINE remote machine -U USER remote username (e.g. SAM/user) extra options when run by root or in local mode: -a add user -d disable user -e enable user -i interdomain trust account -m machine trust account -n set no password -W use stdin ldap admin password -w PASSWORD ldap admin password -x delete user -R ORDER name resolve order EXEMPLO: # O Samba não tem controle próprio de grupos e usuários, ele utiliza o controle existente no Linux. # Para se criar um usuário no Samba, primeiro deve-se criar um usuário no Linux normalmente e logo # em seguida associá-lo ao Samba com o comando: smbpasswd –a [nome_do_usuario] # Para se excluir um usuário usa-se o comando smbpasswd da sequinte forma: smbpasswd –x [nome_do_usuario] # Para desativar um usuário usamos: smbpasswd –d [nome_do_usuario] # E para habilitá-lo usamos: smbpasswd –e [nome_do_usuario] # Para alterarmos a senha de um usuário do samba usamos: smbpasswd –U [nome_do_usuario]
- Como adicionar usuário no servidor samba:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Adiciona usuário ao servidor samba: smbpasswd -a NomeDoUsuario
- Como excluir usuário no servidor samba:
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Excluir usuários do servidor linux smbpasswd -x NomeDoUsuario
- Instalação do cliente samba
- Entrar no terminal modo root e digitar a linha abaixo:
-
# Comando para instalar o client samba ou client windows apt-get install smbclient HELP: smbclient --help Uso: smbclient service [password] -R, --name-resolve=NAME-RESOLVE-ORDER Use these name resolution services only -M, --message=HOST Send message -I, --ip-address=IP Use this IP to connect to -E, --stderr Write messages to stderr instead of stdout -L, --list=HOST Get a list of shares available on a host -m, --max-protocol=LEVEL Set the max protocol level -T, --tar=[c|x]IXFqgbNan Command line tar -D, --directory=DIR Start from directory -c, --command=STRING Execute semicolon separated commands -b, --send-buffer=BYTES Changes the transmit/send buffer -t, --timeout=SECONDS Changes the per-operation timeout -p, --port=PORT Port to connect to -g, --grepable Produce grepable output -B, --browse Browse SMB servers using DNS Opções de ajuda: -?, --help Mostrar esta mensagem de ajuda --usage Mostra uma breve mensagem de uso Common samba options: -d, --debuglevel=DEBUGLEVEL Set debug level -s, --configfile=CONFIGFILE Use alternate configuration file -l, --log-basename=LOGFILEBASE Base name for log files -V, --version Print version --option=name=value Set smb.conf option from command line Connection options: -O, --socket-options=SOCKETOPTIONS socket options to use -n, --netbiosname=NETBIOSNAME Primary netbios name -W, --workgroup=WORKGROUP Set the workgroup name -i, --scope=SCOPE Use this Netbios scope Authentication options: -U, --user=USERNAME Set the network username -N, --no-pass Don't ask for a password -k, --kerberos Use kerberos (active directory) authentication -A, --authentication-file=FILE Get the credentials from a file -S, --signing=on|off|required Set the client signing state -P, --machine-pass Use stored machine account password -e, --encrypt Encrypt SMB transport -C, --use-ccache Use the winbind ccache for authentication --pw-nt-hash The supplied password is the NT hash
- ....
- Como listar as pastas compartilhadas em uma máquina windows ou um servidor samba apartir de uma máquina linux?
- Entre no terminal modo root e digite o comando abaixo:
-
# Exemplo de como listar pastas compartilhadas em um servidor samba ou máquina windows: smvclient ip jdjds djsfdj hdhdh
- ..
- ..
- Exemplos:
- ..
- ..
- ..
- ..
- ..
- ..
- ..
- .
-
REFERÊNCIAS
- Escrito por: Paulo Sérgio da Silva Pacheco
- Local: Fortaleza-CE.
- Data da criação: 04/01/2018
- Data da última atualização:04/01/2018
Comentários
Postar um comentário