Configuración do servidor Samba

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Introdución

  • Neste apartado imos realizar a configuración básica do servidor samba, para poder utilizalo como un servidor de dominio Windows e que tome os usuarios do servidor LDAP.

O ficheiro /etc/samba/smb.conf

  • Todos os parámetros de configuración do servidor samba residen no ficheiro smb.conf, que podemos atopar na ruta /etc/samba/smb.conf.
  • Este ficheiro contén un montón de parámetros (cada un nunha liña coa sintaxe parámetro = valor) agrupados en seccións.
  • Ao comezo de cada sección indícase por unha liña que contén o nome da sección entre corchetes (por exemplo [global], [homes], [comun], etc.), e a continuación todos os parámetros que se inclúan nas seguintes liñas pertencen a esa sección.
  • O fin dunha sección márcase co comezo da seguinte sección, ou co final do ficheiro.


  • Cada sección describe os parámetros de configuración dun recurso compartido, e o nome da sección será o nome do recurso compartido.
  • Así, a sección [comun] define o recurso compartido comun, e dentro dela definiremos os parámetros do recurso: que carpeta se comparte, con que permisos, etc.


  • Hai tres seccións especiais:
    • [global]: Esta é a sección que engloba os parámetros de configuración globais do servidor samba, e polo tanto é a única que non se corresponde con un recurso compartido.
    • [homes]: É un recurso compartido especial que comparte todas as carpetas persoais dos usuarios, de forma que cando un usuario inicia sesión no servidor samba, verá a súa carpeta persoal.
    • [printers]: É un recurso compartido especial que comparte todas as impresoras do equipo.


  • Podemos contar por centos o número de parámetros que pode conter o ficheiro de configuración de samba, así que o que se presenta aquí é un exemplo de configuración cos parámetros de configuración máis relevantes explicados con comentarios (as liñas que comezan por # son comentarios), pero por suposto dependendo das circunstancias concretas pode ser necesario axustar outros parámetros que no exemplo non aparecen.
  • Remítese ao lector/a ao manual do ficheiro smb.conf (http://us1.samba.org/samba/docs/man/manpages-3/smb.conf.5.html) para obter información dos parámetros que se poden usar.


  • No noso caso, o paquete do servidor samba inclúe un ficheiro smb.conf con unha serie de información de exemplo e moitos comentarios; pero nós imos completar o noso ficheiro de configuración dende cero.
  • Así que renomeamos o ficheiro /etc/samba/smb.conf e comezamos a editar un novo ficheiro baleiro con este mesmo nome.
mv /etc/samba/smb.conf /etc/samba/smb.conf.orixinal


  • Introducimos a liña que marca o comezo da sección global do novo ficheiro /etc/samba/smb.conf:
[global]


Parámetros básicos na rede Windows

A continuación introducimos os parámetros básicos para o servidor de samba na rede Windows, como é o nome do equipo, descrición, etc:

#
# PARAMETROS BASICOS DA REDE WINDOWS
#
# Nome do dominio
  workgroup = IESCALQUERA

# Nome do equipo na rede Windows
  netbios name = dserver00

# Descricion do equipo na rede Windows
  server string = Servidor de dominio do IES Calquera

# O servidor actua como servidor WINS (Resolucion de nomes na rede Windows)
  wins support = yes

# O parametro security e un dos mais importantes, xa que determina o modo en que samba controla o acceso
# aos recursos compartidos. Os valores posibles son:
# share: Establecese unha autenticacion por recurso compartido. Non se recomenda
# user: Opcion por defecto. O usuario autentificase ao acceder ao servidor
# domain: Usaremola cando o equipo estea integrado nun dominio Windows NT e samba valida os usuarios contra o PDC
# server: Samba valida os usuarios contra outro servidor samba
# ads: Usaremola cando o equipo estea integrado nun dominio con Active Directory. Samba usara kerberos para autenticarse
  security = user

Parámetros para actuar como controlador de dominio

Os seguintes parámetros configuran o servidor samba como un controlador dun dominio Windows:

#
# PARAMETROS DE CONTROLADOR DE DOMINIO WINDOWS
#
# Para activar a autentificación de clientes do dominio
  domain logons = yes

# Este número indica na rede Windows o tipo de sistema operativo do equipo. Desta maneira, estamoslle
# dicindo ao resto dos equipos da rede Windows que este equipo e un servidor
  os level = 65

# Para que actúe como servidor do dominio
  domain master = yes

# Este parametro e necesario para que se poida iniciar no dominio en clientes con Windows 10
  server max protocol = NT1

# Conecta a carpeta persoal do usuario na unidade Z: do cliente
  logon drive = Z:

# Indica onde se atopa a carpeta persoal do usuario (\\Servidor\NomeUsuario)
# Teremos que compartir con samba os directorios home dos usuarios para que esa comparticion exista
  logon home = \\%N\%U

# Indica onde se almacena a configuracion persoal do usuario (o seu perfil)
# Por defecto gardase dentro do directorio persoal, pero poderia interesarnos gardalos nunha carpeta
# particion aparte, poñendo por exemplo o valor \\%N\perfis\%U
# Isto verase na parte VI do curso
# logon path = \\%N\%U\profile

Parámetros para utilizar o servidor LDAP como backend

Para configurar samba para que use o LDAP como backend, introducimos a seguinte configuración:

#
# PARAMETROS PARA OBTER OS USUARIOS DO LDAP
#
# Indicamos que use o servidor LDAP para obter os usuarios. Non e necesaria a conexion segura xa
# que o servidor LDAP esta na mesma maquina. Tamen poderiamos poñer ldapi:///
  passdb backend = ldapsam:"ldap://localhost"

# Parametros para a conexion co LDAP e localizar os distintos elementos
  ldap suffix = dc=iescalquera,dc=local
  ldap user suffix = ou=usuarios
  ldap group suffix = ou=grupos
  ldap machine suffix = ou=maquinas
  ldap idmap suffix = ou=idmap
  ldap admin dn = cn=admin,dc=iescalquera,dc=local
  ldap ssl = no
  ldap passwd sync = yes

# Con estes parametros samba usara o servidor LDAP para obter a asignacion 
# entre UIDs e GIDs cos identificadores dos usuarios en Windows: 
  idmap backend = ldap:ldap://localhost
  idmap uid = 10000-20000
  idmap gid = 10000-20000

# Estes scripts permiten que o servidor de samba poida dar de alta maquinas no LDAP (por exemplo,
# cando se agrega un equipo no dominio) e xestionar os usuarios e grupos, de forma que se poden
# manipular con ferramentas de xestión de Windows: 
  add user script = /usr/sbin/smbldap-useradd -a -m '%u'
  delete user script = /usr/sbin/smbldap-userdel '%u'
  add group script = /usr/sbin/smbldap-groupadd -p '%g'
  delete group script = /usr/sbin/smbldap-groupdel '%g'
  add user to group script = /usr/sbin/smbldap-groupmod -m '%u'  '%g'
  delete user from group script = /usr/sbin/smbldap-groupmod -x '%u'  '%g'
  set primary group script = /usr/sbin/smbldap-groupmod -g '%g'  '%u'
  add machine script = /usr/sbin/smbldap-useradd -w '%u'

Parámetros de rexistro e rendemento

Os seguintes parámetros axustan os ficheiros e nivel de rexistro (log) do servidor samba e axustes para obter un mellor rendemento:

#
# PARAMETROS DE REXISTRO E RENDEMENTO
#
# Desta forma o servidor samba manten un ficheiro de rexistro por cada cliente que se conecta
  log file = /var/log/samba/log.%m

# Tamano maximo dos ficheiros de rexisto (en KB)
  max log size = 1000

# O servidor mostrase como un servidor de tempo para os clientes Windows
  time server = yes

# Opcions de rendemento recomendadas para Linux
  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Evita que busque por dns nomes de equipo de NetBIOS
  dns proxy = no

Parámetros para a compartición de recursos

Os seguintes parámetros poden ser interesantes na compartición de carpetas por samba:

#
# PARAMETROS DE COMPARTICION DE RECURSOS
#
# Oculta para os clientes ficheiros especiais como sockets e dispositivos
  hide special files = yes

# Comparte como ocultos os ficheiros que comezan por punto (os ocultos de Linux)
  hide dot files = yes

# Oculta para os clientes os ficheiros e directorios para os que o usuario non ten permiso de lectura
  hide unreadable = yes


  • Gardamos o ficheiro

Proporcionarlle a samba o contrasinal do LDAP. Reinicio servizo

  • Para rematar a configuración do servidor samba, temos que proporcionarlle o contrasinal do administrador do LDAP (indicado no parámetro ldap admin dn) para que poida acceder a este servizo con privilexios administrativos. Este contrasinal non se almacena como un parámetro máis do servidor de samba porque o ficheiro de configuración de samba pode ser lido por todos os usuarios, e é conveniente gardalo nun ficheiro máis seguro (ficheiro secrets.tdb).


  • Para subministrar a clave usaremos o comando smbpasswd:
smbpasswd -w abc123.


  • E reiniciamos o servidor samba para activar a configuración:
service smbd restart
  • Para asegurarse do funcionamento correcto de samba recoméndase reinicar o servidor dserver00.


-- Antonio de Andrés Lema e Carlos Carrión Álvarez