Cambiar Contraseña de Sistema via Web

Imagen de skypower

Este COMO surge por la necesidad de muchos adminred que usan los usuarios de sistema para implementar servidores de correo, proxy, etc... y al mismo tiempo permitir el cambio de contraseña desde una web, pero por dificultades tanto de informacion o problemas de distro no lo han podido instalar correctamente...

EL paquete necesario para cambiar la contraseña de los usuarios de sistema (/etc/passwd /etc/shadow /etc/gshadow) es el chetcpasswd
el mismo al ser compilado creara una series de archivos para su utilizacion, chetcpasswd.conf y chetcpasswd.cgi...

Parecido es el chpasswd quien esta especialmente diseñado para trabajar con los usuarios creados con htpasswd, para la autentificacion del SQUID modo ncsa_auth, pero al ser compilado en distribuciones como debian, ubuntu o derivados tiende a dar un error, pues no se preocupen, que la solucion es super sencilla, solo es hacer unas sustituciones y listo, se dejara compilar e instalar correctamente...

# Solucion:
- fix chpasswd.c:287: error: static declaration of 'htoi' follows non-static declaration
chpasswd.c:269: error: previous implicit declaration of 'htoi' was here messages

Pasos para instalar el chetcpasswd

# Descargar el paquete desde sarg.sourceforge.net
chetcpasswd

# Descomprimir el archivo en /tmp o donde deseen
tar –vzxf chetcpasswd-2.4.2.tar.gz

# Damos todos los permisos (para evitar problemas)
chmod 777 –R /tmp/ chetcpasswd-2.4.2

# Accedemos a la carpeta y compilamos
cd /tmp/chetcpasswd-2.4.2
./configure --enable-cgidir=/usr/lib/cgi-bin
make && make install
touch /etc/chetcpasswd/chetcpasswd.allow
echo 0.0.0.0 > /etc/chetcpasswd/chetcpasswd.allow
chmod 400 /etc/chetcpasswd/chetcpasswd.allow
chown root /etc/chetcpasswd/chetcpasswd.allow
chmod 4755 /usr/lib/cgi-bin/chetcpasswd.cgi
kedit /etc/chetcpasswd/chetcpasswd.conf

NOTA: En chetcpasswd.allow deben especificar la subred que podra acceder al servicio, no lo deje en 0.0.0.0 por problemas de seguridad...

# Solo nos queda crear un usuario del sistema y probar por esta via si nos deja cambiarle el pass
htttp://dominio/cgi-bin/chetcpasswd.cgi

Pasos para instalar el chpasswd

# Descargar el paquete chpasswd

# Descomprimir el archivo en /tmp o donde deseen
tar –vzxf chpasswd-2.2.3.tar.gz

# Le damos todos los permisos
chmod 777 –R /tmp/chpasswd-2.2.3

# Buscamos el archivo llamado chpasswd.c y hacemos lo indicado en:
htoi.patch

# Ya solo nos queda compilar e instalar
./configure --prefix=/etc/chpasswd --enable-language=Spanish --enable-cgidir=/usr/lib/cgi-bin
make
make install

# Le indicamos la ubicacion que usa SQUID para la autentificacion
nano /etc/chpasswd/chpasswd.conf
password_file /etc/squid/passwd

# Y listo, podemos cambiar la contraseña de SQUID desde una web...
htttp://dominio/cgi-bin/chpasswd.cgi

Salud2s... hermanos de GNU/Linux espero haberlos ayudado...

bye...