Migracion inicial desde DokuWiki

This commit is contained in:
2025-12-01 12:03:30 -03:00
commit df77d289d1
136 changed files with 7638 additions and 0 deletions

View 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.