Cambiar Contraseña de Sistema via Web

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