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,35 @@
## iRedMail dovecot borra correos desde crontab
0 2 \* \* \* doveadm expunge -u alertas@eldia.com mailbox inbox savedbefore 25h
## responder arriba del mensaje
En el archivo config.inc.php cambiar
When replying:
-1 - dont cite the original message
0 - place cursor below the original message
1 - place cursor above original message (top posting)
2 - place cursor above original message (top posting), but do not indent the quote
$config['reply_mode'] = 1;
## escribir en html
compose html formatted messages by default
0 - never
1 - always
2 - on reply to HTML message
3 - on forward or reply to HTML message
4 - always, except when replying to plain text message
$config['htmleditor'] = 2;

View File

@@ -0,0 +1,39 @@
# algunos comandos útiles de mailq
**mailq \| grep lectores@eldia.com \| wc -l**
para borrar todos los mensajes de una cuenta ej
\*\*./postdel lectores@eldia.com \*\*
\***\*Miramos los correos que tenemos en cola**\*\*\*\*\*\*
**mailq \| tail -n1**
------------------------------------------------------------------------
Para ver una descripción algo más detallada de los correos (id, fecha, origen, destino…) podemos usar mailq sin más modificadores, obviamente el resultado será un chorizo tremendo si hay muchos Requests. Probemos a ver las 20 primeras lineas:
**mailq \| head -n20**
------------------------------------------------------------------------
\# mailq \| head -n20 -Queue ID- Size —-Arrival Time—- -Sender/Recipient——- 9A792414C6B\* 30256 Fri Oct 26 11:41:30 tequilasunrise270@liberotta.it
supongamos que el correo Tequila etc etc es spam y lo queremos borrar “miramos la ID”
**postsuper -d 9A792414C6B**
------------------------------------------------------------------------
este comando sirve para borrar todos los maildaemon
mailq \| awk /^\[0-9A-F\]\[0-9A-F\]\*\[^\*\].\*MAILER-DAEMON\$/ {print \$1} \| sed s/\\//g \| xargs -rn1 postsuper -d
------------------------------------------------------------------------
**Borrar los correos de una cadena específica**
mailq \| grep “textobuscado” \| awk { print(\$1); } \| postsuper -d -
------------------------------------------------------------------------

View File

@@ -0,0 +1,9 @@
Para encriptar contraseñas usando md5 desde consola linux ejecutamos el comando
mkpasswd -m md5 LOQUEQUEREMOSENCRIPTAR
y nos devuelve la frase encriptada
\$1\$NGTeks8a\$gyd5JaQZkX3LT8N381jXL0
esto lo usamos para encriptar las claves del ftp por ejemplo.

View File

@@ -0,0 +1,21 @@
# Linux sincronizar hora NTP con timesyncd
editamos el fichero de configuración
mcedit /etc/systemd/timesyncd.conf
NTP=192.168.4.12
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

View File

@@ -0,0 +1,54 @@
## Instalación Ms ODBC version 17
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
#### Debian 12
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl https://packages.microsoft.com/config/debian/12/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install -y msodbcsql17
#### optional: for bcp and sqlcmd
ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
#### optional: for unixODBC development headers
apt-get install -y unixodbc-dev
#### optional: kerberos library for debian-slim distributions
apt-get install -y libgssapi-krb5-2
## Configuramos el ODBC
mcedit /etc/odbc.ini
[ODBC Data Sources]
gaia = libmsodbcsql
[gaia]
Driver = /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.6.1
server = 192.168.5.150
#### Probamos la conexion
isql -v gaia sa 1351
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| echo [string] |
| quit |
| |
+---------------------------------------+
SQL>
#### Obtenemos los ed_registrados y los guardamos en Descargas
/opt/mssql-tools/bin/bcp "Select id, nombre, apellido, usuario, clave, email, telefono, direccion, documento, ocupacion, estado, fecha_alta, noCorreo from web.dbo.ed_registrados" queryout /home/eduardo/Descargas/ed_registrados.tsv -S "192.168.5.150" -c -t "\t" -C UTF-8 -k -U sa -P 1351

View File

@@ -0,0 +1,20 @@
## Compilar paquete
cd /root/perl-5.30.1-source
wget https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz
tar -xzf perl-5.30.1.tar.gz
cd perl-5.30.1
./Configure -des -Dprefix=$HOME/localperl <- Compilación estandar en una carpeta local
./Configure -des -Dprefix=$HOME/localperl -Dusethreads <- Compilación con soporte para threads (hilos)
make
make test
make install
## Cargar módulos
./utils/cpan -f install Filesys::DiskUsage
./utils/cpan -f Mail::Internet
./utils/cpan -f CGI
./utils/cpan -f DBI
./utils/cpan -f Net::SNMP
./utils/cpan -f Number::Bytes::Human

View File

@@ -0,0 +1,195 @@
------------------------------------------------------------------------
**Instalación ftpservicios**
------------------------------------------------------------------------
apt install figlet ccze net-tools proftpd-basic mc cifs-utils
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf.old
**editamos el archivo modules.conf**
mcedit /etc/proftpd/modules.conf
**y descomentamos la linea**
LoadModule mod_tls.c
------------------------------------------------------------------------
editamos el proftpd.conf y lo dejamos así
------------------------------------------------------------------------
ServerName “ftp2.eldiaservicios.com” ServerType standalone DefaultServer on UseIPv6 off Include /etc/proftpd/modules.conf Include /etc/proftpd/tls.conf DefaultRoot /home/ftp RequireValidShell off AuthUserFile /etc/proftpd/ftpd.passwd PassivePorts 64000 65534 MasqueradeAddress ftp2.eldiaservicios.com User ftp Group nogroup
ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions “-l” DenyFilter \\.\*/ Port 21 MaxInstances 2 Umask 022 022 AllowOverwrite on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
\<IfModule mod_ident.c\>
IdentLookups off
\</IfModule\>
\<IfModule mod_quotatab.c\> QuotaEngine off \</IfModule\>
\<IfModule mod_ratio.c\> Ratios off \</IfModule\>
\<IfModule mod_delay.c\> DelayEngine on \</IfModule\>
\<IfModule mod_ctrls.c\> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock \</IfModule\>
\<IfModule mod_ctrls_admin.c\> AdminControlsEngine off \</IfModule\>
Include /etc/proftpd/conf.d/
\#################################################################################
\<LIMIT LOGIN\> AllowUser foto,mileniumcloud,sitiopubli,sq700 Denyall \</LIMIT\>
\############# Algunos ajustes globales \##########################################
\<DIRECTORY /home/ftp\>
<LIMIT ALL MKD XMKD RMD XRMD>
DenyAll
</LIMIT>
<LIMIT XCUP CDUP CWD XCWD PWD XPWD DIRS>
AllowUser scriptdiag
DenyAll
</LIMIT>
<LIMIT PASV>
AllowAll
</LIMIT>
\</DIRECTORY\>
\<DIRECTORY /home/ftp/Emergencia\>
<LIMIT PWD XPWD XCUP CDUP CWD XCWD STOR DIRS>
AllowUser berisso
DenyAll
</LIMIT>
\</DIRECTORY\>
\############# Fin de ajustes globales \################################################################################### \############# Comienzo de Foto
\<DIRECTORY /home/ftp/Foto\>
<LIMIT PWD XPWD XCUP CDUP CWD XCWD STOR RETR DIRS>
AllowUser foto
Denyall
</LIMIT>
\</DIRECTORY\>
\############# Fin de Foto \################################################################################### \############# Comienzo de mileniumcloud
\<DIRECTORY /home/ftp/mileniumcloud\>
<LIMIT PWD XPWD XCUP CDUP CWD XCWD MKD XMKD RMD XRMD STOR DELE RETR DIRS>
AllowUser mileniumcloud
DenyAll
</LIMIT>
\</DIRECTORY\>
\############# Fin de mileniumcloud \#################################################################################### \############# Comienzo de sitiopubli
\<DIRECTORY /home/ftp/sitiopubli\>
<LIMIT PWD XPWD XCUP CDUP CWD XCWD STOR RETR DIRS>
AllowUser sitiopubli
Denyall
</LIMIT>
\</DIRECTORY\>
\############# Fin de sitiopubli \#################################################################################### \############# Comienzo de sq700
\<DIRECTORY /home/ftp/Zeus\>
<LIMIT PWD XPWD XCUP CDUP CWD XCWD RETR DIRS>
AllowUser sq700
Denyall
</LIMIT>
\</DIRECTORY\>
\#\<DIRECTORY /home/ftp/Zeus/Uploads\> \# \<LIMIT PWD XPWD XCUP CDUP CWD XCWD RETR STOR MKD XMKD DIRS\> \# AllowUser sq700 \# Denyall \# \</LIMIT\> \#\</DIRECTORY\>
\############## Fin de sq700 \####################################################################################
------------------------------------------------------------------------
ahora editamos el tls.conf
mcedit /etc/proftpd/tls.conf
------------------------------------------------------------------------
y lo dejamos así
\<IfModule mod_tls.c\> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSRequired on \</IfModule\>
------------------------------------------------------------------------
generamos el certificado TLS proftpd-gencert
------------------------------------------------------------------------
creamos el archivo de los usuarios virtuales
touch /etc/proftpd/ftpd.passwd
------------------------------------------------------------------------
creamos los directorios para los usuarios virtuales
mkdir -p /home/ftp/Foto mkdir -p /home/ftp/mileniumcloud mkdir -p /home/ftp/mileniumcloud/optiink_output_Mile mkdir -p /home/ftp/mileniumcloud/optiink_hotfolders_Mile mkdir -p /home/ftp/sitiopubli mkdir -p /home/ftp/Zeus/Instalar
------------------------------------------------------------------------
Cambiamos dueños y permisos
chown <ftp:nogroup> /home/ftp/Foto /home/ftp/mileniumcloud /home/ftp/sitiopubli /home/ftp/Zeus/Instalar /home/ftp/mileniumcloud/optiink_output_Mile /home/ftp/mileniumcloud/optiink_hotfolders_Mile chmod 777 /home/ftp/Foto /home/ftp/mileniumcloud /home/ftp/sitiopubli /home/ftp/Zeus/Instalar /home/ftp/mileniumcloud/optiink_output_Mile /home/ftp/mileniumcloud/optiink_hotfolders_Mile
------------------------------------------------------------------------
Para la creacion de usuarios ejecutamos el siguiente comando y nos crea el usuario dentro del archivo ftpd.passwd, no pide que le pongamos la password
ftpasswd passwd name=foto uid=103 gid=653534 home=/home/ftp/Foto shell=/bin/false ftpasswd passwd name=mileniumcloud uid=103 gid=65534 home=/home/ftp/mileniumcloud shell=/bin/false ftpasswd passwd name=sitiopubli uid=103 gid=65534 home=/home/ftp/sitiopubli shell=/bin/false ftpasswd passwd name=sq700 uid=103 gid=65534 home=/home/ftp/Zeus/Instalar shell=/bin/false
------------------------------------------------------------------------
proftpd usuarios virtuales comandos
ftpwho - nos muestra los usuarios conectados ftptop -
ftpasswd passwd name=foto lock \# bloquea al usuario foto ftpasswd passwd name=foto unlock \# desbloquea al usuario foto ftpasswd passwd name=foto unlock delete-user \# borra el usuario foto ftpasswd passwd name=foto change-password \# cambia la clave de foto
------------------------------------------------------------------------
montajes
mount -t cifs -o vers=1.0,username=comsat,password=comsat,uid=103,gid=65534,rw //192.168.4.238/Foto/inLoc /home/ftp/Foto mount -t cifs -o vers=1.0,username=fotomec1,password=fotomec,domain=ELDIA,uid=103,gid=65534,rw //192.168.4.170/optiink_output_Mile /home/ftp/mileniumcloud/optiink_output_Mile/ mount -t cifs -o vers=1.0,username=fotomec1,password=fotomec,domain=ELDIA,uid=103,gid=65534,rw //192.168.4.170/optiink_hotfolders_Mile/ /home/ftp/mileniumcloud/optiink_hotfolders_Mile/ mount -t cifs -o username=comsat,password=comsat,uid=103,gid=65534,rw //192.168.5.229/sitio/publi /home/ftp/sitiopubli mount -t cifs -o username=comsat,password=comsat,uid=103,gid=65534,ro //192.168.4.12/Instalar /home/ftp/Zeus/Instalar
------------------------------------------------------------------------
PERMISOS FTP
ALL - Abarca todos los comandos de FTP (pero no LOGIN)
DIRS - Abarca - CDUP, CWD, LIST, MDTM, MLSD, MLST, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD
LOGIN - Logins de clientes
READ - Abarca - RETR, SIZE
WRITE - Abarca - APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD
------------------------------------------------------------------------

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.

View File

@@ -0,0 +1,34 @@
## Comandos externos
### Creamos alias para la compilación con threads
alias perl-thread=/root/perl-5.30.1-source/perl-5.30.1/perl
alias cpan-thread=/root/perl-5.30.1-source/perl-5.30.1/utils/cpan
*Si lo agregamos al bash lo hacemos permanente:\*\* mcedit /root/.bashrc\*\**
### snmpscan
cd /home/Controles/
perl-thread snmpscan.pl --randomize --threads 100 --timeout 2 --community eldia --target 192.168.4.40
### snmpchek
cd /home/Controles/
perl-thread snmpcheck.pl -t 192.168.4.40 -c eldia
## Comandos internos
### wc - contar lineas de archivo
cat reportsnmpPiloto | wc -l
### sed - reemplazar texto en un archivo
Agregar un carácter **\| al comienzo** de todas las lineas del archivo.csv
sed 's|^|\||' archivo.csv
Agregar un carácter **\| al final** de todas las lineas del archivo.csv
sed 's|$|\||' archivo.csv