GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalación del controlador de dominio Samba 4 en CentOS 7

A partir de la versión 4.0, Samba puede ejecutarse como un controlador de dominio (DC) de Active Directory (AD). En este tutorial, le mostraré cómo configurar Samba 4 como controlador de dominio con clientes de Windows 10, CentOS 7 y CentOS 6.

En este tutorial, compilaré Samba 4 desde la fuente. Si está buscando una instalación basada en RPM de Samba 4 y una configuración de SELinux para Samba 4, consulte mi nuevo tutorial de Samba 4 aquí.

Usaré 3 sistemas, un servidor CentOS 7 y un cliente de Windows 10 para administración remota, un cliente CentOS 7 y CentOS 6.

  • 192.168.1.190 Samba4 AD centos7
  • 192.168.1.191 administración remota ganar 10
  • 192.168.1.22 - Autenticación de cliente - centos 7
  • 192.168.1.192 - Autenticación de cliente - centos 6

Instalacion de Samba 4

192.168.1.190 Samba4 AD centos 7

La base es un CentOS 7 con una instalación mínima y SELinux deshabilitado.

 [[email protected] ~]# sestatusSELinux status:disabled[[email protected] ~]# 

Haga una entrada en el archivo /etc/hosts.

[[email protected] ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.190 samba4.sunil.cc samba4[ [correo electrónico protegido] ~]# 

Instale el repositorio de epel.

[[email protected] ~]# yum install epel-release -y

Instale todos los paquetes necesarios para compilar samba4.

[[email protected] ~]# yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins\policycoreutils- python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel\cyrus-sasl-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget -y

Ahora descargue el paquete samba4. Uso samba-4.6.0, que es lo último durante esta configuración.

[[email protected] ~]# wget https://download.samba.org/pub/samba/stable/samba-4.6.0.tar.gz

Ahora instalemos samba4.

 [[email protected] ~]# tar -zxvf samba-4.6.0.tar.gz [[email protected] ~]# cd samba-4.6.0 [[email protected] samba-4.6.0]# . /configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind [[email protected] samba-4.6.0]# make &&make install 

La instalación tardará unos 10 minutos dependiendo de la velocidad del sistema.

Ahora haremos el aprovisionamiento del dominio.

[[email protected] samba]# samba-tool domain provision --use-rfc2307 --interactiveRealm [SUNIL.CC]:Dominio [SUNIL]:Función del servidor (dc, miembro, independiente) [dc]:dc DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:dirección IP del reenviador de DNS (escriba 'ninguno' para deshabilitar el reenvío) [4.2.2.1]:Contraseña del administrador:Vuelva a escribir la contraseña:Búsqueda de direcciones IPv4 Búsqueda de direcciones IPv6 No se buscará ninguna dirección IPv6 asignadoConfiguración de share.ldbConfiguración de secrets.ldbConfiguración del registroConfiguración de la base de datos de privilegiosConfiguración de idmap dbConfiguración de SAM dbConfiguración de particiones y configuraciones de sam.ldbConfiguración de sam.ldb rootDSEPPrecarga del esquema Samba 4 y ADAgregar dominioDN:DC=sunil,DC=ccAdición del contenedor de configuraciónConfiguración del esquema sam.ldbConfiguración de los datos de configuración de sam.ldbConfiguración de los especificadores de visualizaciónModificación de los especificadores de visualizaciónAdición del contenedor de usuariosModificación del contenedor de usuariosAdición del contenedor de equiposModificación del contenedor de equiposConfiguración de los datos de sam.ldbConfiguración adecuada principios de seguridad conocidosConfiguración de usuarios y grupos de sam.ldbERROR(ldb):excepción no detectada:error de operaciones en ../source4/dsdb/samdb/ldb_modules/password_hash.c:2820 Archivo "/usr/local/samba/lib64/python2.7 /site-packages/samba/netcmd/__init__.py", línea 176, en _run return self.run(*args, **kwargs) Archivo "/usr/local/samba/lib64/python2.7/site-packages/ samba/netcmd/domain.py", línea 471, en ejecutar nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode) Archivo "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", línea 2175, en provision skip_sysvolacl=skip_sysvolacl) Archivo "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", línea 1787, en provision_fill next_rid=next_rid, dc_rid=dc_rid) Archivo "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", línea 1447, en fill_samdb "KRBTGTPASS_B64":b64encode(krbtgtpass.encode('utf-16-le' )) Archivo "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/ common.py", línea 55, en setup_add_ldif ldb.add_ldif(datos, controles) Archivo "/usr/local/samba/lib64/python2.7/site-packages/samba/__init__.py", línea 225, en add_ldif self .add(mensaje, controles)[[email protected] samba]#

Habrá algunos errores cuando hagamos el aprovisionamiento del dominio.

Para corregirlos, comente la siguiente línea en /etc/krb5.conf.

 -------- #includedir /etc/krb5.conf.d/ --------

Vuelva a ejecutar el aprovisionamiento del dominio y ahora el dominio se creará sin errores.

 [[email protected] etc]# samba-tool domain provision --use-rfc2307 --interactiveRealm [SUNIL.CC]:Dominio [SUNIL]:Función del servidor (dc, miembro, independiente) [dc]:servidor DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:dirección IP del reenviador de DNS (escriba 'ninguno' para deshabilitar el reenvío) [4.2.2.1]:Contraseña del administrador:Vuelva a escribir la contraseña:Buscando direcciones IPv4Buscando direcciones IPv6No se asignará ninguna dirección IPv6Configuración up secrets.ldbConfiguración del registroConfiguración de la base de datos de privilegiosConfiguración de idmap dbConfiguración de SAM dbConfiguración de particiones y configuraciones de sam.ldbConfiguración de sam.ldb rootDSEPPrecarga del esquema Samba 4 y ADAgregar dominioDN:DC=sunil,DC=ccAgregar contenedor de configuraciónConfiguración de sam Esquema .ldbConfiguración de datos de configuración de sam.ldbConfiguración de especificadores de visualizaciónModificación de especificadores de visualizaciónAgregar contenedor de usuariosModificar contenedor de usuariosAgregar contenedor de equiposModificar contenedor de equiposConfigurar datos de sam.ldbConfigurar principios de seguridad conocidos alsConfiguración de usuarios y grupos sam.ldbConfiguración de autouniónAgregación de cuentas DNSCreación de CN=MicrosoftDNS,CN=System,DC=sunil,DC=ccCreación de particiones DomainDnsZones y ForestDnsZonesPoblación de particiones DomainDnsZones y ForestDnsZonesConfiguración de sam.ldb rootDSE marcado como sincronizadoReparación de GUID de provisiónUna configuración de Kerberos adecuada para Samba AD se ha generado en /usr/local/samba/private/krb5.confConfiguración de la configuración del servidor yp falsoUna vez que los archivos anteriores estén instalados, su servidor Samba4 estará listo para usar Rol del servidor:controlador de dominio de directorio activoNombre de host:samba4NetBIOS Dominio:SUNILDNS Dominio:sunil.ccDOMAIN SID:S-1-5-21-2936486394-2075362935-551615353[[email protected] etc]# 

Asegúrese de que los puertos estén abiertos en el cortafuegos.

[[email protected] etc]#firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add- puerto=88/tcp --permanente;firewall-cmd --add-port=88/udp --permanente; \firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanente; \firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent[[email protected] ~]# firewall-cmd --reload 

Cree una secuencia de comandos de inicio para iniciar automáticamente el servicio durante el reinicio.

[[email protected] ~]# cat /etc/systemd/system/samba.service[Unit]Description=Samba 4 Active DirectoryAfter=syslog.targetAfter=network.target[Service]Type=forkingPIDFile=/usr/local /samba/var/run/samba.pidExecStart=/usr/local/samba/sbin/samba[Install]WantedBy=multi-user.target[[email protected] ~]#[[email protected] ~]# systemctl enable sambaCreated enlace simbólico de /etc/systemd/system/multi-user.target.wants/samba.service a /etc/systemd/system/samba.service.[[email protected] ~]# systemctl start samba 

Agregar el host de Windows al dominio

192.168.1.191 administración remota ganar 10

Asegúrese de que el host se agregue con una dirección IP estática.

Agregar el host al dominio.

Para administrar Samba4 desde Windows, necesitamos tener instalado Microsoft Remote Server Tools (RSAT).

La página wiki tiene los enlaces https://wiki.samba.org/index.php/Installing_RSAT

Instalación de la herramienta RSAT en Windows 10

Ejecute el instalador.

Después de reiniciar, vaya a ejecutar y escriba dsa.msc

Haga clic en dominio sunil.cc y haga clic con el botón derecho en nuevo -> Usuarios.

Creando un usuario de prueba.

Autenticación de cliente con Samba 4 en CentOS 7

192.168.1.22 - Autenticación de cliente en CentOS 7

Instalación de paquetes:

[[email protected] ~]# yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common

Comprobar conectividad con samba4:

 [[email protected] ~]# reino descubrir SUNIL.CCsunil.cc tipo:kerberos realm-name:SUNIL.CC dominio-nombre:sunil.cc configurado:kerberos-member server-software:active-directory client-software :sssd paquete requerido:oddjob paquete requerido:oddjob-mkhomedir paquete requerido:sssd paquete requerido:adcli paquete requerido:samba-common-tools formatos de inicio de sesión:%U política de inicio de sesión:allow-realm-logins[[ correo electrónico protegido] ~]# 

Unirse al dominio.

[[email protected] ~]# realm join SUNIL.CCPassword for Administrator:[[email protected] ~]#

Compruebe si podemos obtener el usuario de samba4.

[[correo electrónico protegido] ~]# id SUNIL\\testuseruid=1570001104([correo electrónico protegido]) gid=1570000513(dominio [correo electrónico protegido]) groups=1570000513(dominio [correo electrónico protegido])[[correo electrónico protegido] ~ ]#

Configurar sssd.

[[email protected] ~]# cat /etc/sssd/sssd.conf[sssd]domains =sunil.ccconfig_file_version =2services =nss, pam[domain/sunil.cc]ad_domain =sunil.cckrb5_realm =SUNIL.CCrealmd_tags =administra el sistema unido a las credenciales_sambacache =Trueid_provider =adkrb5_store_password_if_offline =Truedefault_shell =/bin/bashldap_id_mapping =Trueuse_fully_qualified_names =Truefallback_homedir =/home/%[email protected]%daccess_provider =ad[[email protected] ~]#

Reiniciar sssd.

[[email protected] ~]# systemctl reiniciar sssd[[email protected] ~]# systemctl enable sssd

Compruebe el usuario.

[[correo electrónico protegido] ~]# id [correo electrónico protegido]uid=1570001105([correo electrónico protegido]) gid=1570000513(dominio [correo electrónico protegido]) groups=1570000513(dominio [correo electrónico protegido]),1570000512(dominio [ email protected]), 1570000572 (denegada replicación de contraseña de rodc [email protected])[[email protected] ~]#

Para obtener el usuario sin nombre de dominio.

[[email protected] ~]# vim /etc/sssd/sssd.conf--------------use_fully_qualified_names =False---- ------------------

Reinicie sssd y verifique el comando id.

[[email protected] ~]# systemctl restart sssd[[email protected] ~]# id sambauseruid=1570001105(sambauser) gid=1570000513(usuarios del dominio) groups=1570000513(usuarios del dominio),1570000512(administradores del dominio), 1570000572 (grupo de replicación de contraseña de rodc denegado) [[email protected] ~]#

Autenticación de cliente con Samba 4 en CentOS 6

192.168.1.192 - Autenticación de cliente en CentOS 6.

Instalación de paquetes.

 [[email protected] db]# yum install pam pam_ldap pam_krb5 sssd sssd-ldap sssd-common authconfig oddjob oddjob-mkhomedir openldap openldap-clients krb5-workstation adcli -y 

Cambie el archivo de configuración de Kerberos.

 [[email protected] db]# cat /etc/krb5.conf[logging] default =ARCHIVO:/var/log/krb5libs.log kdc =ARCHIVO:/var/log/krb5kdc.log admin_server =ARCHIVO:/ var/log/kadmind.log[libdefaults] default_realm =SUNIL.CC dns_lookup_realm =false dns_lookup_kdc =false ticket_lifetime =24h renew_lifetime =7d forwardable =true[realms] SUNIL.CC ={ kdc =samba4.sunil.cc admin_server =samba4.sunil .cc }[dominio_reino] .sunil.cc =SUNIL.CC sunil.cc =SUNIL.CC[[email protected] db]# 

Usaremos el comando adcli para unirnos al dominio.

 [[email protected] db]# adcli info sunil.cc[domain]domain-name =sunil.ccdomain-short =SUNILdomain-forest =sunil.ccdomain-controller =samba4.sunil.ccdomain-controller-site =Predeterminado -First-Site-Namedomain-controller-flags =pdc gc ldap ds kdc timeserv más cercano grabable good-timeserv full-secretdomain-controller-usable =yesdomain-controllers =samba4.sunil.cc[computadora]computer-site =Default-First- Nombre del sitio[[email protected] db]#[[email protected] db]# adcli join sunil.ccPassword for [email protected]:[[email protected] db]# 

Asegúrese de que se haya creado el ticket de Kerberos.

 [[email protected] db]# klist -ke 

Configurar autenticación.

 [[email protected] db]# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update 

Modifique la configuración de sssd ahora para realizar la autenticación.

 [[email protected] db]# cat /etc/sssd/sssd.conf[sssd]services =nss, pam, ssh, autofsconfig_file_version =2domains =sunil.cc[domain/sunil.cc]id_provider =ad# Descomentar si la detección de servicios no funciona# ad_server =server.win.example.comdefault_shell =/bin/bashfallback_homedir =/home/%u[[email protected] db]# 

Reinicie el servicio sssd.

Validando usuario.

 [[email protected] db]# id sambauseruid=1570001105(sambauser) gid=1570000513(usuarios de dominio) groups=1570000513(usuarios de dominio),1570000512(administradores de dominio),1570000572(grupo de replicación de contraseña rodc denegado)[[email protegido] db]# 

Cent OS
  1. Instalación de PHP 5.5 en CentOs

  2. Guía de instalación de red de CentOS 7

  3. Instalar Anaconda en CentOS 8

  4. Centos:¿configurar la puerta de enlace en Centos 7?

  5. Cómo configurar Samba como controlador de dominio principal en Linux

Configuración del servidor Samba en CentOS 6.5

Controlador de dominio adicional Samba 4 para replicación de conmutación por error en CentOS 7

Instalación basada en Samba 4 con Active Directory en CentOS 7 rpm con soporte compartido

Instalación y configuración del servidor Samba en CentOS 7

Integre Samba con Active Directory en CentOS

Cómo instalar Samba en CentOS 8