Migracion inicial desde DokuWiki
This commit is contained in:
221
sistemas/servidores/linux/samba4_miembro_ad.md
Normal file
221
sistemas/servidores/linux/samba4_miembro_ad.md
Normal file
@@ -0,0 +1,221 @@
|
||||
## Instalación y Configuración de Samba4 como Miembro de Dominio AD en Debian 12
|
||||
|
||||
Esta guía te mostrará cómo instalar y configurar Samba4 en un servidor Debian 12 para que funcione como miembro de un dominio de Active Directory (AD) existente. 💻
|
||||
|
||||
#### 1. Prerrequisitos
|
||||
|
||||
Antes de comenzar, asegúrate de que tu sistema Debian 12 cumple con los siguientes requisitos:
|
||||
|
||||
\* **Sistema Actualizado:** Asegúrate de que tu sistema esté completamente actualizado.
|
||||
|
||||
apt install mc apt ethtool figlet htop ccze curl acl -y
|
||||
|
||||
apt update && apt upgrade -y
|
||||
|
||||
\* **Dirección IP Estática:** Configura una dirección IP estática para tu servidor Debian. Puedes editar el archivo \`/etc/network/interfaces\`
|
||||
|
||||
\* **Hostname Configurado:** Establece un nombre de host adecuado para tu servidor. Edita \`/etc/hostname\` y \`/etc/hosts\`. Reinicia si es necesario. \* **Configuración DNS:** Es **crucial** que tu servidor Debian utilice el servidor DNS del controlador de dominio de Active Directory. Edita \`/etc/resolv.conf\` y añade:
|
||||
|
||||
search eldia.net
|
||||
nameserver 192.168.4.12
|
||||
nameserver 192.168.4.248
|
||||
|
||||
**Nota:** Si usas NetworkManager o `resolvconf`, puede que necesites configurar el DNS a través de esas herramientas para que los cambios persistan.
|
||||
|
||||
\* \*\*Sincronización de Hora (timesyncd): editamos la configuración
|
||||
|
||||
mcedit /etc/systemd/timesyncd.conf
|
||||
|
||||
NTP=zeus.eldia.net
|
||||
NTP=baco.eldia.net
|
||||
RootDistanceMaxSec=20
|
||||
|
||||
habilitamos la configuración para que se sincronice solo
|
||||
|
||||
timedatectl set-ntp true
|
||||
|
||||
reiniciamos el servicios
|
||||
|
||||
systemctl restart systemd-timesyncd.service
|
||||
|
||||
vemos si está sincronizado luego de reiniciar el servicio
|
||||
|
||||
timedatectl status
|
||||
|
||||
\* **ACLs Habilitadas:** Verifica que los sistemas de archivos donde residirán los datos de Samba tengan las ACLs (Listas de Control de Acceso) habilitadas. Usualmente, \`ext4\` las tiene por defecto. Puedes verificarlo en \`/etc/fstab\`.
|
||||
|
||||
#### 2. Instalación de Paquetes Necesarios
|
||||
|
||||
Instala Samba y los paquetes relacionados para la integración con Active Directory y Kerberos:
|
||||
|
||||
apt install acl samba krb5-user winbind libpam-winbind libnss-winbind -y
|
||||
|
||||
Configuración de Kerberos Haz una copia de seguridad del archivo de configuración original y luego edita /etc/krb5.conf
|
||||
|
||||
mv /etc/krb5.conf /etc/krb5.conf.orig
|
||||
mcedit /etc/krb5.conf
|
||||
|
||||
[libdefaults]
|
||||
default_realm = ELDIA.NET
|
||||
dns_lookup_realm = true
|
||||
dns_lookup_kdc = true
|
||||
|
||||
# The following krb5.conf variables are only for MIT Kerberos.
|
||||
kdc_timesync = 1
|
||||
ccache_type = 4
|
||||
forwardable = true
|
||||
proxiable = true
|
||||
rdns = false
|
||||
|
||||
# The following libdefaults parameters are only for Heimdal Kerberos.
|
||||
fcc-mit-ticketflags = true
|
||||
|
||||
[realms]
|
||||
ELDIA.NET = {
|
||||
kdc = ZEUS
|
||||
kdc = BACO
|
||||
admin_server = ZEUS
|
||||
}
|
||||
|
||||
[domain_realm]
|
||||
.eldia.net = ELDIA.NET
|
||||
eldia.net = ELDIA.NET
|
||||
|
||||
#### 3. Configuración de Samba (\`smb.conf\`)
|
||||
|
||||
Haz una copia de seguridad del archivo de configuración original y luego edita \`/etc/samba/smb.conf\`:
|
||||
|
||||
mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
|
||||
mcedit /etc/samba/smb.conf
|
||||
|
||||
Añade la siguiente configuración básica, **ajustando los valores** (\`MIDOMINIO\`, \`MIDOMINIO.LOCAL\`, \`SERVIDORDEBIAN\`) a tu entorno:
|
||||
|
||||
[global]
|
||||
security = ads
|
||||
realm = ELDIA.NET
|
||||
workgroup = ELDIA
|
||||
idmap uid = 10000-20000
|
||||
idmap gid = 10000-20000
|
||||
winbind enum users = yes
|
||||
winbind enum groups = yes
|
||||
template homedir = /home/%D/%U
|
||||
template shell = /bin/bash
|
||||
client use spnego = yes
|
||||
client ntlmv2 auth = yes
|
||||
encrypt passwords = yes
|
||||
winbind use default domain = yes
|
||||
restrict anonymous = 2
|
||||
kerberos method = secrets and keytab
|
||||
winbind refresh tickets = true
|
||||
# usa atributos extendidos para ACL
|
||||
vfs objects = acl_xattr
|
||||
# hereda ACL de la carpeta padre
|
||||
map acl inherit = Yes
|
||||
store dos attributes = Yes
|
||||
|
||||
# Ejemplo de recurso compartido (opcional)
|
||||
|
||||
#[armado]
|
||||
# comment = Armado
|
||||
# path = /mnt/armado
|
||||
# inherit acls = yes
|
||||
# inherit permissions = yes
|
||||
# browseable = yes
|
||||
# read only = no
|
||||
# create mask = 0775
|
||||
# directory mask = 0775
|
||||
# hide unreadable = Yes
|
||||
# access based share enum = Yes
|
||||
|
||||
**Explicación de algunas opciones:**
|
||||
|
||||
workgroup: Tu nombre de dominio NetBIOS (generalmente la primera parte de tu dominio DNS).
|
||||
realm: Tu nombre de dominio DNS completo en mayúsculas.
|
||||
security = ads: Indica que Samba usará Active Directory para la autenticación.
|
||||
idmap config …: Configura cómo se mapean los SIDs de Windows a los UIDs/GIDs de Linux. \`rid\` es comúnmente usado para miembros de dominio.
|
||||
winbind …: Opciones para el servicio \`winbind\`, que maneja la comunicación con AD.
|
||||
template homedir: Define dónde se crearán los directorios de inicio para los usuarios del dominio.
|
||||
|
||||
#### 4. Unirse al Dominio
|
||||
|
||||
Antes de unirte, detén los servicios de Samba y Winbind:
|
||||
|
||||
systemctl stop smbd nmbd winbind
|
||||
systemctl disable smbd nmbd winbind
|
||||
|
||||
Ahora, únete al dominio usando el comando \`net\`. Necesitarás las credenciales de un administrador del dominio de AD:
|
||||
|
||||
net ads join -U caronte
|
||||
|
||||
Se te pedirá la contraseña del administrador. Si todo va bien, verás un mensaje indicando que te has unido al dominio ‘ELDIA’.
|
||||
|
||||
#### 5. Configuración de Name Service Switch (\`nsswitch.conf\`)
|
||||
|
||||
Edita \`/etc/nsswitch.conf\` para que el sistema pueda resolver usuarios y grupos a través de \`winbind\`:
|
||||
|
||||
mcedit /etc/nsswitch.conf
|
||||
|
||||
Modifica las líneas \`passwd\` y \`group\` para que se vean así:
|
||||
|
||||
passwd: compat winbind
|
||||
group: compat winbind
|
||||
shadow: compat
|
||||
gshadow: files
|
||||
|
||||
#### 6. Configuración de PAM
|
||||
|
||||
Configura el Módulo de Autenticación Pluggable (PAM) para permitir inicios de sesión de usuarios de dominio y crear automáticamente sus directorios de inicio:
|
||||
|
||||
pam-auth-update
|
||||
|
||||
Asegúrate de que las opciones \`Create home directory on login\` y \`Winbind NT/Active Directory/Kerberos authentication\` estén **seleccionadas** (usa la barra espaciadora para seleccionar/deseleccionar y Tab para moverte).
|
||||
|
||||
configuracion de PAM /etc/pam.d/common-session
|
||||
|
||||
mcedit /etc/pam.d/common-session
|
||||
|
||||
Agregar esta linea antes comentario final
|
||||
|
||||
session optional pam_mkhomedir.so
|
||||
|
||||
#### 7. Iniciar y Habilitar Servicios
|
||||
|
||||
Ahora, inicia y habilita los servicios de Samba y Winbind para que se inicien automáticamente al arrancar:
|
||||
|
||||
systemctl unmask smbd nmbd winbind
|
||||
systemctl enable smbd nmbd winbind
|
||||
systemctl start smbd nmbd winbind
|
||||
|
||||
#### 8. Verificación ✅
|
||||
|
||||
Es hora de verificar que todo funciona correctamente:
|
||||
|
||||
\* **Verificar la unión al dominio:**
|
||||
|
||||
net ads testjoin
|
||||
|
||||
Deberías ver "Join is OK".
|
||||
|
||||
\* **Verificar el estado de Winbind:**
|
||||
|
||||
wbinfo --ping-dc
|
||||
|
||||
Deberías ver "checking the NETLOGON for domain[ELDIA] dc connection to "BACO.eldia.net" succeeded".
|
||||
|
||||
\* **Listar usuarios del dominio:**
|
||||
|
||||
wbinfo -u
|
||||
|
||||
\* **Listar grupos del dominio:**
|
||||
|
||||
wbinfo -g
|
||||
|
||||
\* **Obtener información de un usuario específico:**
|
||||
|
||||
getent passwd "ELDIA\comsat"
|
||||
|
||||
\* **Obtener información de un grupo específico:**
|
||||
|
||||
getent group "ELDIA\tecnica"
|
||||
|
||||
Si puedes ver usuarios y grupos de tu dominio AD, ¡felicitaciones! 🎉 Tu servidor Debian 12 ahora es miembro del dominio de Active Directory. Ahora puedes configurar recursos compartidos y asignar permisos utilizando usuarios y grupos de AD.
|
||||
Reference in New Issue
Block a user