Shell Script para corregir la edad mínima de la contraseña no funciona pero no hay errores

Shell Script para corregir la edad mínima de la contraseña no funciona pero no hay errores

El objetivo de este script es cambiar la antigüedad mínima de la contraseña en el archivo /etc/login.defs.

Mi problema es que este script se ejecuta, no aparece ningún error, pero cuando accedo al archivo, nada ha cambiado. No soy bueno con sed, así que supongo que algo anda mal. Necesita ayuda para descubrir qué hay de malo en esto.

min_pass_age=7

sed -i "s/^PASS_MIN_DAYS.*/PASS_MIN_DAYS ${min_pass_age}/" /etc/login.defs

Respuesta1

Se corrigieron algunas cosas. Necesita el /g al final porque necesita seleccionar los que están al principio de la línea e ignorar las líneas comentadas. No es necesario utilizar comillas dobles, solo se deben utilizar simples.

sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g' /etc/login.defs

sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 7/g' /etc/login.defs

información relacionada