Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the header-footer-elementor domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/abartomeu/wp-includes/functions.php on line 6121
Uncategorized Archives -

Configuració de les MV per treballar amb vagrant windows 11

Lo primer de tot serà configurar la política de contrasenyes i tenim de desactivar-ho:

El segon pas es activar el .NET Framework 3.5:

El tercer pas s’ha de desactivar el UAC:

El quart pas, toca fer unes quantes configuracions en el sistema:

El primer es millorar el rendiment:

El segon pas es canviar la memoria virtual a 1024:

El tercer pas es desactivar la protecció del sistema:

Per últim permitim les connexions remotes:

El següent pas es desactivar el UAC per registre, per fer això hauré d’obrir el powershell com administrador. Per fer-ho m’he connectat per ssh perquè és més fàcil:

El sisé pas és configurar el winrm per accés remot:

winrm quickconfig -q

winrm set winrm/config/winrs ‘@{MaxMemoryPerShellMB=”512″}’

winrm set winrm/config ‘@{MaxTimeoutms=”1800000″}’

winrm set winrm/config/service ‘@{AllowUnencrypted=”true”}’

winrm set winrm/config/service/auth ‘@{Basic=”true”}’

L’últim pas és activar la política de powershell per els scripts:

Accés ssh entre MV’s

Lo que faré es fer proves entre màquines per comprovar si el accés ssh funciona correctament en totes les màquines. La primera prova serà de debian a ubuntu: 

La ip del debian es la 10.0.3.16 i la del ubuntu es la 10.0.3.15:

Ara lo mateix però de rocky linux a ubuntu:

Ara de windows 11 a ubuntu:

Pop up cookies

Com Afegir un Pop-up de Cookies a WordPress amb Simple Custom CSS and JS

Si vols afegir un avís de cookies personalitzat al teu lloc web WordPress sense instal·lar plugins addicionals específics per a cookies, pots fer-ho amb el plugin Simple Custom CSS and JS. A continuació, es detalla el procés pas a pas.


1. Instal·lació del Plugin

  1. Accedeix al panell d’administració de WordPress.

  2. Ves a Plugins > Afegir nou.

  3. Busca Simple Custom CSS and JS.

  4. Instal·la i activa el plugin.

Aquest plugin permet afegir codi personalitzat sense modificar els arxius del tema, fent-lo una opció senzilla i segura.


2. Creació dels Arxius CSS i JS

Per mostrar el pop-up i gestionar la seva funcionalitat, cal afegir dos arxius: un de CSS per als estils i un altre de JavaScript per al comportament.

Arxiu CSS (Estil del Pop-up)

  1. Ves a Custom CSS & JS > Add CSS Code.

  2. Introdueix el codi CSS que donarà estil al pop-up.

  3. Desa i activa l’arxiu.

Aquest arxiu defineix:

  • La posició fixa del pop-up a la part inferior.

  • Els colors, tipografies i transicions.

  • L’animació d’entrada i sortida del pop-up.

Arxiu JavaScript (Funcionalitat del Pop-up)

  1. Ves a Custom CSS & JS > Add JS Code.

  2. Afegeix el codi JavaScript que crearà i controlarà el pop-up.

  3. Desa i activa l’arxiu.

Aquest script s’encarrega de:

  • Comprovar si l’usuari ja ha acceptat o rebutjat les cookies.

  • Generar automàticament el pop-up quan es carrega la pàgina.

  • Guardar la decisió de l’usuari a localStorage perquè el missatge no torni a aparèixer.

 
Confirmació de que funciona correctament:

Perfils mòbils

Ara crearé perfils mòbils, això és per si inicies sessió en un ordinador i guardes dades, al iniciar sessió en un altre ordinador amb la mateixa compta, doncs tinguis les mateixes dades.

1–> Descarreguem els paquets necessaris, utilitzaré nfs en linux: sudo apt install nfs-kernel-server

2–> Després entrem a l’arxiu de /etc/exports i posarem això: /home *(rw,sync,no_root_squash)

3–> Reiniciem la configuració: sudo exportfs -ra
sudo systemctl restart nfs-kernel-server

4–> Després anem al nostre client linux y descarreguem nfs-common:

5–> Un cop instal·lat, muntem el servidor de LDAP: sudo mount -t nfs 192.168.204.66:/home /home
6–> Per a que és monti automaticament al iniciar el client s’ha d’editar l’arxiu /etc/fstab.

192.168.204.66:/home /home nfs defaults 0 0

7–> Per últim entrem a /etc/pam.d/common-session per si els directoris no s’han creat:

8–> Probes:

Ara des de el servidor:

Ara faré lo mateix però amb la màquina de proves:

Sí que està fet.

Automatització de tasques amb shell

Aquí està el script que he utilitzat: https://abartomeu.inscastellbisbal.net/2025/02/27/script-ldap-shell/

Per crear l’usuari s’ha de posar ./script.sh -a usuari -b grup -c ou

Posan’t la comanda ./script.sh -l es veuen els grups que hihan i les unitats organitzatives per a que sigui més fàcil crear-ho.

Finalment he entrat a l’eina gràfica per a que es vegi que l’usuari s’ha creat correctament:

Script ldap shell

#!/bin/bash
# Definició de variables de configuració LDAP

domini_ldap=”dc=ldap,dc=grup1,dc=local”
admin_ldap=”cn=admin,dc=ldap,dc=grup1,dc=local”
contrasenya_ldap=”ldapgrup1″

# Funció per mostrar l’ús del script

usage() {
echo “Ús: $0 -a [nom_usuari] -b [grups] -c [ou]”
echo “Opcions:”
echo ” -a: Nom de l’usuari”
echo ” -b: Grups als quals pertanyerà l’usuari (separats per comes)”
echo ” -c: Unitat Organitzativa (OU) on es crearà l’usuari”
echo ” -l: Llistar OUs i grups disponibles”
exit 1
}

# Funció per llistar les OUs disponibles al directori LDAP

llistar_ous_jerarquicament() {
echo “Unitats Organitzatives (OUs) disponibles:”
ldapsearch -x -b “$domini_ldap” “(objectClass=organizationalUnit)” ou | grep “ou:” | awk ‘{print $2}’ | while read -r OU; do
OU_PARE=$(ldapsearch -x -b “$domini_ldap” “(ou=$OU)” | grep “dn:” | awk -F’,’ ‘{print $2}’ | awk -F’=’ ‘{print $2}’)
if [[ -n “$OU_PARE” ]]; then
echo ” $OU (dins de $OU_PARE)”
else
echo “$OU”
fi
done
}

# Funció per llistar els grups disponibles al LDAP

llistar_grups() {
echo “Grups disponibles:”
ldapsearch -x -b “$domini_ldap” “(objectClass=posixGroup)” cn | grep “cn:” | awk ‘{print $2}’
}

# Funció per mostrar tant OUs com grups

llistar_ous_i_grups() {
llistar_ous_jerarquicament
echo
llistar_grups
}

# Processament dels arguments

while getopts “:a:b:c:l” opt; do
case ${opt} in
a) nom_usuari=$OPTARG ;;
b) grups=$OPTARG ;;
c) ou=$OPTARG ;;
l) llistar_ous_i_grups; exit 0 ;;
*) usage ;;
esac
done

# Comprova si falten arguments obligatoris

if [[ -z “$nom_usuari” || -z “$grups” || -z “$ou” ]]; then
usage
fi

# Comprova si l’usuari ja existeix al LDAP

if ldapsearch -x -b “ou=$ou,$domini_ldap” “(uid=$nom_usuari)” | grep -q “dn:”; then
echo “Error: L’usuari ‘$nom_usuari’ ja existeix al LDAP.”
exit 1
fi

# Divideix els grups separats per comes en un array

IFS=’,’ read -r -a grups_array <<< “$grups”

# Comprova si cada grup existeix al LDAP

for grup in “${grups_array[@]}”; do
if ! ldapsearch -x -b “$domini_ldap” “(cn=$grup)” | grep -q “dn:”; then
echo “Error: El grup ‘$grup’ no existeix al LDAP.”
exit 1
fi
done

# Comprova si la Unitat Organitzativa (OU) existeix

if ! ldapsearch -x -b “ou=$ou,$domini_ldap” “(objectClass=organizationalUnit)” | grep -q “dn:”; then
echo “Error: La OU ‘$ou’ no existeix al LDAP.”
exit 1
fi

# Crea un fitxer LDIF temporal per afegir l’usuari

fitxer_ldif=$(mktemp)
cat << EOF > $fitxer_ldif
dn: uid=$nom_usuari,ou=$ou,$domini_ldap
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: $nom_usuari
sn: $nom_usuari
uid: $nom_usuari
uidNumber: $(ldapsearch -x -b “ou=$ou,$domini_ldap” “(uidNumber=*)” uidNumber | awk ‘/uidNumber:/ {print $2}’ | sort -n | tail -1 | awk ‘{print $1 + 1}’)
gidNumber: $(ldapsearch -x -b “$domini_ldap” “(cn=${grups_array[0]})” gidNumber | awk ‘/gidNumber:/ {print $2}’)
homeDirectory: /home/$nom_usuari
loginShell: /bin/bash
userPassword: $(slappasswd -s “password” 2>/dev/null || echo “password”)
EOF

# Afegeix l’usuari al directori LDAP

ldapadd -x -D “$admin_ldap” -w “$contrasenya_ldap” -f $fitxer_ldif

# Assigna l’usuari als grups

for grup in “${grups_array[@]}”; do
fitxer_grup_ldif=$(mktemp)
cat << EOF > $fitxer_grup_ldif
dn: cn=$grup,ou=${grup},$domini_ldap
changetype: modify
add: memberUid
memberUid: $nom_usuari
EOF
ldapmodify -x -D “$admin_ldap” -w “$contrasenya_ldap” -f $fitxer_grup_ldif
rm $fitxer_grup_ldif
done

# Esborra el fitxer temporal

rm $fitxer_ldif

echo “Usuari ‘$nom_usuari’ creat amb èxit a la OU ‘$ou’ i afegit als grups: $grups.”

Usuaris virtuals

Primer hem d’anar a l’arxiu de configuració de vsftpd.conf i posar aquestes línies al final de l’arxiu:

guest_enable=YES

virtual_use_local_privs=YES

user_sub_token=%u
local_root=/srv/ftp/%u

chroot_local_user=YES

Després instal·lem el apache2-utils:

Ara hem de crear l’usuari i la contrasenya per al nostre usuari del ftp, la contrasenya s’ha de guardar en l’arxiu on tenim tots els usuaris posats:

sudo htpasswd -c -b -B /etc/vsftpd/vsftpd.userlist xavi xavi

Ara crearé la carpeta amb els seus permisos necessaris:

sudo mkdir -p /srv/ftp/xavi

sudo mkdir -p /srv/ftp/xavi/files

sudo chmod 555 /srv/ftp/xavi

sudo chmod 755 /srv/ftp/xavi/files

sudo chown -R ftp:nogroup /srv/ftp/xavi

Després d’això, entrarem al arxiu /etc/pam.d/vsftpd i posarem aquestem línies, hem de comentar les demés línies que no estiguin comntades:

auth required pam_pwdfile.so pwdfile /etc/vsftpd/vsftpd.userlist
account required pam_permit.so

Ara farem les proves per a que es vegi que funciona correctament:

I ara amb el filezilla:

Directoris personals dels usuaris de LDAP sobre el servidor NFS

Per a que sigui més fàcil la creació de l’usuari, entrarem a a l’eina gràfica de LDAP:

Primer posem el nom de l’usuario que és dirà invitado2.

Després anem al apartat que es diu Unix i lo unic que editem és el Home Directory, en el nostre cas l’usuari estarà en /home/carpeta.usuarios. Després també li hem de posar una contrsenya per a l’usuari.

Finalement fem la verificació entrant a l’usuari amb su invitado2, i com es pot veure funciona.

Usuaris locals del sistema amb permisos de pujada y baixada

Primer entrem dins l’arxiu de vvsftpd.conf i posem aquesta configuracio:

listen=YES
listen_ipv6=NO

local_enable=YES — Això és per a que els usuaris puguin entrar
write_enable=YES — Això és per a que els usuaris puguin pujar els arxius
chroot_local_user=YES
allow_writeable_chroot=YES

hide_ids=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

Ara crearé el usuaris d’aquesta manera ja que és més ràpid:

Un cop fet això reiniciem el servei i veiem si funciona correctament:

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

Ara crearem la carpeta de pujada per els usuaris, fent això és farà automaricament:

for user in artur max najib oscar; do
sudo mkdir -p /home/$user/ftp/upload
sudo chmod 755 /home/$user/ftp
sudo chmod 777 /home/$user/ftp/upload
sudo chown $user:$user /home/$user/ftp/upload
done

Ara faré un comprobació per a que es vegi que funciona correctament:

Connexió client windows

Lo primer que s’ha de fer és anar a firefox o a un altre buscador i buscar pGina.

Un cop dins, li donem a Download i ens redireccionarà a aquesta pàgina:

Li donem a pGina 3.1.8.0, la versió stable. Quan li donis, entraràs al github de pGina i hauràs de descarregar el executable:

Un cop dins de l’aplicació, has d’anar a plugin selection i seleccionar totes le casselles del LDAP:

Quan ho hagis seleccionat, has d’anar a Configure i posar aquestes dades en els paràmetres:

LDAP HOST: IP del servidor

LDAP PORT: 389

SEARCH DN: cn=admin,dc=ldap,dc=grup1,dc=local

SEARCH PASSWORD: contrasenya d’administrador

Group DN Patern: cn=%g,ou=Group,dc=ldap,dc=grup1,dc=local

A baix has de marcar la casella Search for DN

Search filter: uid=%u

Search content: dc=ldap,dc=grup1,dc=local

Així és com ho tinc jo:

Després de configurar-ho li dones a Save.

Després has d’anar a Pluguin Order i posar les coses com estàn aquí:

Després li dones a Save.

Per finalitzra vas a l’apartat de Simulation i proves un usuari que tinguis configurat:

Sí surt tot verd és que l’usauri existeix.