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